私は、Linux/Unixで正常に動作し、次のコードがあります。Files.walk()OS非依存の問題
Files.walk(Paths.get(getStartingPath()))
.filter(Files::isDirectory)
// Skip directories which start with a dot (like, for example: .index)
.filter(path -> !path.toAbsolutePath().toString().matches(".*/\\..*"))
// Note: Sorting can be expensive:
.sorted()
.forEach(operation::execute);
ただし、Windowsの下で、この部分は正常に動作しないようですが:
.filter(path -> !path.toAbsolutePath().toString().matches(".*/\\..*"))
このOSに依存しないようにする適切な方法は何ですか?
これはテストできませんので、コメントを使用します: '/'の代わりにFile.separatorを使用してください。 ( "。*" + File.separator + "\\ .. *") –
私はすでに試してみましたが、エスケープする必要があるため動作しません。とにかくありがとう! – carlspring