我有一种写入文件的方法,但是以某种方式在写入文件时遇到了问题int
:
public static void writeFile(int[] result) {
try {
FileWriter writer = new FileWriter("MyFileExample.txt", true);
BufferedWriter bufferedWriter = new BufferedWriter(writer);
int counter = 0;
for (int j = 0; j < result.length; j++) {
if (result[j] != -1) {
counter++;
}
}
System.out.println(counter);
bufferedWriter.write(counter);
bufferedWriter.newLine();
for(int i = 0; i<result.length; i++) {
if (result[i] != -1) {
bufferedWriter.write(i + " ");
}
}
bufferedWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
该行bufferedWriter.write(counter);
什么都没写。只是一片空白。其余的都写得很好。我尝试用"test"
代替,counter
那也很好。
关于如何解决此问题的任何想法?
发生的事情是,当您编写int而不将其转换为String时,它只是将int编写为它的类型(一个int)。因此,调用方法如下:
writeFile(new int[] {1, 2, 3})
将以下字节写入文件:
03 00 01 02
如果您引用的是ASCII表,则它们都是不可打印的字符。
我假设基于要编写的文件类型,您希望将整数写为字符串。因此,在编写它之前,您只是做了正确的事情即可将其转换。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句