Używam poniższego kodu, aby uzyskać tablicę ze wszystkimi podkatalogami z danej ścieżki.
String[] subDirs = path.split(File.separator);
Potrzebuję tablicy, aby sprawdzić, czy określone foldery znajdują się we właściwym miejscu w tej ścieżce. Wyglądało to na dobre rozwiązanie, dopóki findBugs nie narzekał, że File.separator jest używany jako wyrażenie regularne. Wydaje się, że przekazanie separatora plików systemu Windows do funkcji budującej z niego wyrażenie regularne jest złym pomysłem, ponieważ ukośnik odwrotny jest znakiem ucieczki.
Jak mogę podzielić ścieżkę na wiele platform bez użycia File.separator? A może taki kod jest w porządku?
String[] subDirs = path.split("/");