java - 如何在Java中将整数数组写入文件
问题描述
我有一个整数数组:
[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();
解决方案
我建议您改用 aPrintWriter
写入文件。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();
推荐阅读
- amazon-web-services - 如何检查 S3 中文件夹的权限?
- android - Circle CI 找不到方法 google() 用于存储库容器上的参数 []
- php - mysql查询中的concat()函数或替代方案
- javascript - 难以实现handleOnPress功能
- ios - 我应该调整图像的大小以在 UITableView 中显示吗?
- git - 为什么 git 在不同的存储库中使用不同的差异工具?
- asp.net-mvc - 在 MVC5 控制器中将两个 Linq 查询合并为一个的更好方法
- android - Ionic3,在android上显示来自sd(或任何)存储的图像
- php - 在 php 中从 mysql 数据库中检索 Datetime 对象
- html - 发送表单时,为什么值未定义?