Jak podzielić niezależną platformę ścieżki?

Używam następującego kodu, aby uzyskać tablicę ze wszystkimi podkatalogami z podanej ścieżki.

String[] subDirs = path.split(File.separator); 

Potrzebuję tablicy, aby sprawdzić, czy określone foldery znajdują się we właściwym miejscu na 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ż odwrotny ukośnik jest znakiem ucieczki.

Jak mogę podzielić ścieżkę na różne platformy bez użycia File.separator? Czy kod jest taki w porządku?

String[] subDirs = path.split("/");