Na File
classe há duas strings, separator
e pathSeparator
.
Qual é a diferença? Quando devo usar um sobre o outro?
java
file
path-separator
icnhzabot
fonte
fonte
Respostas:
Se você quer dizer
File.separator
eFile.pathSeparator
depois:File.pathSeparator
é usado para separar caminhos de arquivo individuais em uma lista de caminhos de arquivo. Considere no Windows a variável de ambiente PATH. Você usa a;
para separar os caminhos dos arquivos, comoFile.pathSeparator
seria o Windows;
.File.separator
é um/
ou\
é usado para dividir o caminho para um arquivo específico. Por exemplo, no Windows, é\
ouC:\Documents\Test
fonte
File.separator
deve serFile.fileSeparator
em relação aFile.pathSeparator
File
. Eu acho que a parte do arquivo está implícita. Mas quem sabe por que eles fizeram muito do que fizeram com Java.Você usa o separador ao criar um caminho de arquivo. Então, no unix, o separador é
/
. Então, se você quisesse construir o caminho unix/var/temp
, faria assim:Você usa
pathSeparator
quando está lidando com uma lista de arquivos como em um caminho de classe. Por exemplo, se seu aplicativo tomou uma lista de jars como argumento, a maneira padrão de formatar essa lista no unix é:/path/to/jar1.jar:/path/to/jar2.jar:/path/to/jar3.jar
Então, dada uma lista de arquivos, você faria algo assim:
fonte
/var/temp
esse, é inútil usá-File.separator
lo, pois você já possui código dependente da plataforma. Também pode codificar o caminho.java.io.File
A classe contém quatro variáveis separadoras estáticas. Para uma melhor compreensão, vamos entender com a ajuda de algum códigoObserve que todas essas são variáveis finais e dependem do sistema.
Aqui está o programa java para imprimir essas variáveis separadoras. FileSeparator.java
Saída do programa acima no sistema Unix:
Saída do programa no sistema Windows:
Para tornar nossa plataforma de programa independente, sempre devemos usar esses separadores para criar o caminho do arquivo ou ler quaisquer variáveis do sistema como PATH, CLASSPATH.
Aqui está o trecho de código que mostra como usar os separadores corretamente.
fonte
String
echar
retornados pelos métodos mencionados acima retornam a barra invertida corretamente formatada (se estiver no Windows).