Como dividir uma plataforma de caminho independente?

Eu estou usando o seguinte código para obter uma matriz com todos os sub-diretórios de um determinado caminho.

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

Eu preciso da matriz para verificar se determinadas pastas estão no lugar certo neste caminho. Isso pareceu uma boa solução até findBugs reclamar que File.separator é usado como uma expressão regular. Parece que passar o separador de arquivo do windows para uma função que está construindo uma regex é uma má idéia porque a barra invertida é um caractere de escape.

Como posso dividir o caminho de maneira multiplataforma sem usar o File.separator? Ou o código está assim?

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

questionAnswers(6)

yourAnswerToTheQuestion