您看到的结果表明您的控制台希望文本使用Windows“代码页850”编码-字符ü具有Unipre代码点U +
00FC。字节值0xFC在Windows代码页850中呈现为³。因此,如果您希望该名称正确显示在控制台上,则需要使用编码“ Cp850”进行打印:
PrintWriter consoleOut = new PrintWriter(new OutputStreamWriter(System.out, "Cp850"));consoleOut.println(filename);
这是否就是您的“其他应用程序”所期望的是另一个问题-如果其他应用程序也正在读取其标准输入为Cp850,则它将仅看到正确的名称。



