我不知道为什么会这样。
BufferedWriter writer = new BufferedWriter(new FileWriter("mnt/sdcard/Menu.ini"));
for (int i = 0; i < AppItem.length; i++) {
writer.write(AppItem[i]);
writer.newLine();
}
writer.close();
在Java中,它运行良好。当我在Android中执行操作时,创建的文件(menu.ini)不接受
newLine();
。我尝试用"\n"
和System.getProperty("line.separator")
代替writer.newLine();
问题是,所有字符串都排成一行,而矩形框正好出现在行尾。
可以将字符串数组写入文件的任何解决方案或任何其他方法。
谢谢
最佳答案
BufferedWriter.newline()
将使用特定于平台的分隔符。
提供了newLine()方法,该方法使用平台自己的由系统属性line.separator
定义的行分隔符概念。并非所有平台都使用换行符('\ n')来终止行。因此,调用此方法终止每条输出行比直接编写换行符更好。
http://docs.oracle.com/javase/6/docs/api/java/io/BufferedWriter.html
但是我的理解是,您正在Windows的记事本中查看该文件,因为它是在其他平台上创建的,因此无法识别分隔符。
所以您的代码很好,但是您的测试是错误的:)
如果您的目标是在记事本中看到它,请将行分隔符更改为\r\n
关于java - BufferedWriter.newLine()在Android中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17724458/