2

我不知道为什么会这样。

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(); 问题是,所有字符串都排成一行,而矩形框则出现在该行结束的地方。

我可以将字符串数组写入文件的任何解决方案或任何替代方式。 谢谢

4

1 回答 1

2

BufferedWriter.newline()将使用特定于平台的分隔符。

提供了一个 newLine() 方法,它使用系统属性定义的平台自己的行分隔符概念line.separator。并非所有平台都使用换行符 ('\n') 来终止行。因此,调用此方法来终止每个输出行优于直接写入换行符。

http://docs.oracle.com/javase/6/docs/api/java/io/BufferedWriter.html

但我的理解是,您正在 Windows 上的记事本中查看该文件,该文件无法识别为分隔符,因为它是在不同平台上创建的。

所以你的代码很好,但你的测试是错误的:)

如果您的目标是在记事本中查看它,请将行分隔符更改为\r\n

于 2013-07-18T13:25:59.760 回答