【发布时间】:2015-03-13 10:15:53
【问题描述】:
我在 Java 中有一组字符串(String 对象),想将它们写入文件,以便以后检索它们。
我了解 Java 在内部使用 UTF-16 存储字符串。我担心我可能会因为格式问题而搞砸一些东西,除非我正确地写和读字符串。我不想将字符串对象原始转储到文件中,因为我希望能够在标准文本编辑器中打开文件以查看它,其中每个字符串以合理的方式显示在自己的行上(假设没有字符串包含换行符)。
我可以简单地使用PrintWriter 类和println(String x) 方法(假设字符串中没有换行符),并在读取它们时结合Scanner 类的nextLine() 方法?这能保证我得到完全相同的字符串吗?
进一步,假设字符串确实包含换行符,那么编写它们的适当方式是什么?我是否应该过滤掉换行符(用一些临时转义码或类似代码替换它们)并使用println 方法和PrintWriter 如上所述?
【问题讨论】:
-
你试过了吗?试一试,你自己就会找到答案。
-
我相信你已经回答了你自己的问题,只需尝试代码,看看它是如何工作的,这都是成为程序员的一部分:)
-
我建议您简单地使用
ObjectInputStream和ObjectOutputStream而不是以人类可读的格式编写字符串(如果没有人-human- 会阅读它们,那就是)。代码会更简单、更快。 -
当您使用
Writer或Reader时,您写入或读取的不是字符而是字节;这意味着您需要编码/解码。 -
我应该如何通过运行代码来确定答案?我应该在所有字符串上尝试我的代码吗? :)(仅供参考:我不是专业的程序员,而是计算机科学家。)
标签: java string readfile writefile