gpt4 book ai didi

java - 如果拒绝打开文件名中包含特殊字符的文件,如何修复 java?

转载 作者:IT王子 更新时间:2023-10-29 00:00:55 26 4
gpt4 key购买 nike

如何打开Java拒绝打开的带有特殊字符的文件?

一开始我猜这是一个字符集编码问题,因为我从日志文件中读取了错误的文件名。但是后来我发现,这可能是JVM的一个bug,我需要一个解决方法。

真实的例子比文字更好

import java.io.*;
public class WTF{
public static void main(String[] s)throws Exception{
File f2=new File(".");
for (File subFile : f2.listFiles()) {
System.out.println(subFile.getName());
System.out.println(subFile.exists());
System.out.println(new FileInputStream(subFile));
}
}
}

结果

[USER@SERVER ZZZ]$ java -cp . WTF
WTF.class
true
java.io.FileInputStream@732dacd1
WTF.java
true
java.io.FileInputStream@3bad086a
ABC_�%81DEF.txt
false
Exception in thread "main" java.io.FileNotFoundException: ABC_�%81DEF.txt (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at java.io.FileInputStream.<init>(FileInputStream.java:66)
at WTF.main(WTF.java:8)

文件夹包含

[USER@SERVER ZZZ]$ ls -lb
-rw-r--r-- 1 USER GROUP 8 Apr 14 20:54 ABC_\303%81DEF.txt
-rw-r--r-- 1 USER GROUP 1068 Apr 14 20:58 WTF.class
-rw-r--r-- 1 USER GROUP 554 Apr 14 20:58 WTF.java

最佳答案

关于java - 如果拒绝打开文件名中包含特殊字符的文件,如何修复 java?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5663709/

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