Eu preciso de um método válido para verificar se a String
representa um caminho para arquivo ou diretório. O que são nomes de diretório válidos no Android? À medida que saem, os nomes de pastas podem conter '.'
caracteres, então como o sistema entende se há um arquivo ou uma pasta?
141
Respostas:
Assumindo que
path
é seuString
.Veja
File
JavadocOu você pode usar a classe NIO
Files
e verificar coisas como esta:fonte
path
no meu exemplo é oString
. Por que você não pode criar umaFile
instância? Observe que isso não mudará nada no sistema de arquivos.root
pode ser um arquivo. Os arquivos não têm necessariamente uma.something
extensão.Solução limpa enquanto permanece na API nio:
fonte
File
objeto a cada vez. Economiza memóriaAtenha-se à API nio para executar essas verificações
fonte
fonte
Não há como o sistema informar se um
String
representa umfile
oudirectory
, se ele não existe no sistema de arquivos. Por exemplo:E para o seguinte exemplo:
Então, vemos que, em ambos os casos, o sistema retorna falso. Isso é verdade para ambos
java.io.File
ejava.nio.file.Path
fonte
Para verificar se uma string representa um caminho ou um arquivo programaticamente, você deve usar métodos de API como
isFile(), isDirectory().
Eu acho que as entradas de arquivo e pasta são mantidas em uma estrutura de dados e são gerenciadas pelo sistema de arquivos.
fonte
fonte
Para responder à pergunta diretamente.
fonte