为什么有这种差异?为什么'Files.exists'返回true,但'File.exists'返回false?它只发生在多字节字符的文件名中
Path docDir
Paths.exists(docDir):true
docDir.toPath().exists():false
其他属性:
Files.isDirectory(docDir)=true
Files.isExecutable(docDir)=true
Files.isHidden(docDir)=false
Files.isReadable(docDir)=true
Files.isRegularFile(docDir)=false
Files.isSymbolicLink(docDir)=false
Files.isWritable(docDir)=true
Files.notExists(docDir)=false
不会出现在单字节字符串此问题。
的Linux版本
Linux version 2.6.32-431.el6.x86_64 ([email protected]) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC))
这个应用程序服务,并使用我的springBoot库。
使用'nio'进行读取/写入没有问题,但使用'io.File'会导致'FileNotFoundException'。
有什么我做错了吗?
它是一个符号链接?你使用的是什么版本的Java?我似乎无法在'Paths'或'Path'(to'toPath')找到'exist'这个事情 – MadProgrammer
FYI:'java.io'不处理符号链接,其中'java.nio'的确如此一个更好的工作) – MadProgrammer
那么最新的问题是什么?也因为你使用的是非常老的linux,并且你的名字看起来像日语,你使用的是“euc-jp”还是“shift-jis”字符代码?你使用的是什么文件系统? – ymonad