我需要从 Windows 命令行将文件路径传递给 main 方法。
c:\scanner> java -jar scanner.jar path-to-file-with-unicode-characters
文件路径包含 unicode 字符,这些字符在传递给 java main 后将被删除/替换
最佳答案
问题出在命令行及其编码上。
解决方案可能是将文件路径存储为单独的小文本文件。
在 Linux 下,惯例是使用 @
前缀:
public static void main(String[] args) {
for (int i = 0; i < args.length; ++i) {
if (args[i].startsWith("@")) {
Path path = Paths.get(args[i].substring(1));
args[i] = new String(Files.readAllBytes(path), StandardCharsets.UTF_8).trim();
}
}
RealClass.main(args);
}
关于java - 从 Windows 命令提示符将 unicode 字符串传递给 java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51425394/