gpt4 book ai didi

java - Java 文件中的编码问题

转载 作者:行者123 更新时间:2023-11-30 09:36:10 30 4
gpt4 key购买 nike

我在 java 中有 String,它是包含变音符号的文件名。文件正确存储在 Win 7 Pro 磁盘上(变音符号等在资源管理器文件列表中正确显示)。我还尝试将文件名保存到文本文件,然后使用变音符号正确输出文件名。但是当我使用 File 中的方法 exists() 时,它说文件不存在。如果我尝试使用方法 createNewFile(),它会创建类似于 ä.txt(最初是 ä.txt)的文件。我这里的设置可能有什么问题?我正在使用 Tomcat 6 和 Eclipse 来运行我的 Web 应用程序。

最佳答案

如果文件名将作为静态常量包含在您的源代码中,那么它不会对您的代码执行位置产生影响,但是当您从远程地址读取文件名时,它会产生显着差异。

默认情况下,每个 Java 实例作为默认字符集在 Windows 上通常是“Cp1252”,在其他系统上通常是“UTF-8”。因此,每个从网络或文件系统读取或写入字符串的方法都使用默认字符集 - 只要您不使用明确指定字符集的方法版本。

因此,将文件名写入文件并不能说明一切,因为它是否正确显示取决于您使用的文本编辑器,而不是编写它的 Java 程序。

结论:检查您的代码并确保您明确设置了字符集。这与 String 的方法 getBytes() 以及您将 Reader/Writer 实例连接到 InputStream/OutpuStream 的每个地方尤其相关。

关于java - Java 文件中的编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10945500/

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