我有一个整数数组:
[56, 6090, 1510, 256, 17]
如何在追加模式下将其写入文件?我将拥有更多的数组,就像要写入同一文件一样。如何将它们逐行追加?
我希望我的最终文件看起来像这样:
A B C D E
56 6090 1510 256 17
60 42 3400 5499 12
我该如何工作?如何写标题?
我有这个,但是我得到的文件看起来很奇怪。这些字符是什么?
public static void main(String args[]) throws IOException {
// input files
String fileName = "SmallAreaIncomePovertyEstData.txt";
File f = new File(fileName);
// output files
String tempFileName = "tempFile.txt";
File outputf = new File(tempFileName);
//writer to the output file
BufferedWriter outputWriter = new BufferedWriter(new FileWriter(outputf, true));
BufferedReader br = new BufferedReader(new FileReader(f));
...
for(int i = 0; i < rowDataOnlyIntegers.length; i++) {
outputWriter.write(rowDataOnlyIntegers[i]);
}
outputWriter.newLine();
}
br.close();
outputWriter.close();
最佳答案
我建议您改用PrintWriter
写入文件。您正在调用的方法write
将写入一个编码为整数参数的字符,而不是您期望的整数的字符串表示形式。所以write(32)
会写一个空格字符,因为在UTF-16中空格被编码为32。PrintWriter
允许您直接编写字符串。
这是使用PrintWriter
的方法。
String tempFileName = "tempFile.txt";
File outputf = new File(tempFileName);
//writer to the output file
PrintWriter outputWriter = new PrintWriter(outputf);
...
for(int i = 0; i < rowDataOnlyIntegers.length; i++) {
outputWriter.print(rowDataOnlyIntegers[i]);
outputWriter.print(" ");
}
outputWriter.println();