gpt4 book ai didi

java - 用 Java 将字符串写入文件并读取它们

转载 作者:行者123 更新时间:2023-12-01 11:47:39 28 4
gpt4 key购买 nike

我有一组 Java 字符串(String 对象),希望将它们写入一个文件,以便稍后检索它们。

据我了解,Java 在内部使用 UTF-16 存储字符串。我担心除非我正确地编写和读取字符串,否则我可能会由于格式问题而搞砸一些东西。我不想将 String 对象原始转储到文件中,因为我希望能够在标准文本编辑器中打开文件来查看它,其中每个字符串以合理的方式显示在自己的行上(假设没有字符串包含换行符)。

我可以简单地使用带有 println(String x) 方法的 PrintWriter 类(假设字符串中没有换行符),并结合 Scanner 类的读回它们时使用 nextLine() 方法?这能保证我得到完全相同的字符串吗?

此外,假设字符串确实包含换行符,那么正确的书写方式是什么?我是否应该过滤掉换行符(用一些临时转义代码或类似代码替换它们)并使用 println 方法与上面的 PrintWriter

最佳答案

为了完整起见,我用我最终采用的解决方案来回答我自己的问题。回想起来,解决方案非常简单。呃!

为了编写字符串,我使用 BufferedWriter具有编写字符串的便捷方法的类。 BufferedWriter通过以下方式获取:

writer = new BufferedWriter(
new OutputStreamWriter(
new FileOutputStream(filename), "UTF-8"));

这里我指定了基本上所有东西都支持的UTF-8编码。

要读回字符串,我使用 BufferedReader类并确保使用 UTF-8 编码:

reader = new BufferedReader(
new InputStreamReader(
new FileInputStream(filename), "UTF-8"));

关于java - 用 Java 将字符串写入文件并读取它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29029665/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com