我必须读取文本文件并格式化输入。我是从文件中读取 java 的新手,我不知道如何处理我所读内容的某些部分 这是初始文件:http://pastebin.com/D0paWtAd
我必须在另一个文件中写入以下输出: 平均,乔,44,31,18,12,9,10
我已经设法从文件中获取所有内容并将其打印到输出。我需要帮助来获取我需要的输出并将其打印到屏幕上。如有任何帮助,我们将不胜感激。
这是我到目前为止所写的:
public class FileParsing {
public static String
read(String filename) throws IOException {
BufferedReader in = new BufferedReader(new FileReader("C:\\Users\\Bogdi\\Desktop\\example.txt"));
String s;
StringBuilder sb = new StringBuilder();
while((s = in.readLine())!= null) sb.append(s + "\n");
in.close();
return sb.toString();
}
最佳答案
如果您的目标是在另一个文件中执行指定的输出,则在处理文件之前不需要首先在 StringBuilder 中获取文件的内容,您可以直接将处理后的数据附加到 StringBuilder 中,然后将结果写入文件中。以下是适用于给定文件的示例,但如果将来 key 发生变化,您可能必须修改它:
以下方法将正确处理文件中的数据
public static String read(String filename) throws IOException {
BufferedReader in = new BufferedReader(new FileReader(filename));
String s;
StringBuilder sb = new StringBuilder();
while((s = in.readLine())!= null) {
String[] split1 = s.split("=");
if (split1[0].equals("name")) {
StringTokenizer tokenizer = new StringTokenizer(split1[1]);
sb.append(tokenizer.nextToken());
sb.append(",");
sb.append(tokenizer.nextToken());
sb.append(",");
} else if (split1[0].equals("index")) {
sb.append(split1[1] + ",");
} else if (split1[0].equals("FBid")) {
sb.append(split1[1]);
} else {
StringTokenizer tokenizer = new StringTokenizer(split1[1]);
String wasted = tokenizer.nextToken();
sb.append(tokenizer.nextToken() + ",");
}
}
in.close();
return sb.toString();
}
下一个方法将读取任何字符串到文件
public static void writeStringToFile(String string, String filePath) throws IOException {
BufferedWriter writer = new BufferedWriter(
new FileWriter(
new File(filePath)
)
);
writer.write(string);
writer.newLine();
writer.flush();
writer.close();
}
这是一个简单的测试(File1.txt 包含您在粘贴箱上共享的文件中的数据,我将它们写入另一个文件中)
public static void main(String[] args) throws Exception {
String datas = read("C:\\Tests\\File1.txt");
System.out.println(datas);
writeStringToFile(datas, "C:\\Tests\\FileOuput.txt" );
}
它将产生您期望的确切输出
[编辑] @idk,显然你在执行我的示例时遇到了异常,而它对我来说工作得很好。这只能意味着数据层面存在错误。这是我使用的数据示例(我相信我完全复制了您共享的数据)
结果如下:
关于java - 从文件中读取并将某些部分写入另一个文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29899326/