我有一些带有日语字符的目录/文件。如果我尝试读取包含(例如)一个ku的文件名(不是内容),我会收到一个包含�的字符串。如果我尝试创建一个包含ku的文件/目录,则会出现一个包含?的文件/目录。例如:我列出了文件。Filefile=newFile(".");String[]filesAndDirs=file.list();filesAndDirs数组现在包含特殊字符的目录。该字符串现在仅包含����。它接缝没有什么可解码的,因为对于文件名中的每个字符,即使对于不同的字符,agetbytes也只显示“-17-65-67”。我使用MacOS10.8.2Java7_10和Netbeans。有
我知道Files.list(Path)使用Files.newDirectoryStream(Path)在内部,基本上只是包装DirectoryStream。但是我不明白,我想用第一个还是后者。如果我想使用流式API,这只是一种方便的方法吗?我自己可以很容易地做到这一点,seethisquestion.如果查看Files.list的实现,内部DirectoryStream抛出的异常包含在UncheckedIOException中。有什么我应该知道的吗? 最佳答案 这通常是风格问题。如果要使用外部迭代(for(Pathpath:dirS
我想检查Java中的目录是否为空。但是有可能该目录中有很多文件,所以如果可能的话,我想在不查询其文件列表的情况下这样做。 最佳答案 使用JDK7,您可以使用Files.newDirectoryStream打开目录,然后使用迭代器的hasNext()方法测试是否有任何文件需要迭代(不要忘记关闭流)。与java.io.File列表方法相比,这对于大型目录或目录位于远程文件系统上的位置应该更有效。例子:privatestaticbooleanisDirEmpty(finalPathdirectory)throwsIOException{t
我想检查Java中的目录是否为空。但是有可能该目录中有很多文件,所以如果可能的话,我想在不查询其文件列表的情况下这样做。 最佳答案 使用JDK7,您可以使用Files.newDirectoryStream打开目录,然后使用迭代器的hasNext()方法测试是否有任何文件需要迭代(不要忘记关闭流)。与java.io.File列表方法相比,这对于大型目录或目录位于远程文件系统上的位置应该更有效。例子:privatestaticbooleanisDirEmpty(finalPathdirectory)throwsIOException{t