Não é possível acessar um arquivo usando java.io.FileInputStream

0

Estou trabalhando com servlets java e preciso acessar um arquivo trail.xlsx dentro do código java usando a classe java.io.Fileinputstream, para windows, temos que adicionar a letra da unidade, mas aqui não temos nenhuma letra de unidade para obter o caminho completo qualificado para o arquivo como

c:\something\trial.xlsx 

e até eu tentei seguir combinações

/home/trail.xlsx

/media/win7/trail.xlsx

(movendo o arquivo para os seguintes locais primeiro) Por que esses endereços não estão trabalhando com java é que java não suporta caminhos de unidade linux? ou há outra saída? Eu preciso ler esse arquivo somente dentro de java e ele diz

java.io.FileNotFoundException: /home/trail.xlsx

Obrigado pelo seu precioso tempo ...

    
por Chinmaya B 04.07.2014 / 16:10

1 resposta

2

Deixe-me reformular minha "resposta" anterior - não acho que comuniquei adequadamente minha intenção.

Nos meus doze anos de programação Java, usei a abstração java.io.File dezenas de vezes em aplicativos da Web e em aplicativos autônomos, em sistemas de arquivos Linux e em sistemas de arquivos do Windows (e o Java trabalha com Sistemas de arquivos Linux muito bem).

Em minha estimativa, a causa de mais de 90% de FileNotFoundExceptions são pequenos erros de digitação no caminho do sistema de arquivos ou nome de arquivo incorporado no programa Java que fazem com que o programa tente acessar um arquivo inexistente em vez do arquivo. que o programador pretendia acessar.

DEU QUE a sua postagem original tenha citado extensões de arquivo para uma planilha do Excel como 'xslx' e que sua postagem atual ainda cite trial.xslx e trail.xslx nomes de arquivos, (sim, são apenas erros de digitação simples, mas erros de digitação simples são o meu melhor palpite quanto à causa do problema, dadas as informações fornecidas acima)

ENTÃO minha resposta é que você precisa garantir que o nome do caminho e o nome do arquivo. (especialmente a extensão do nome do arquivo), que é usado em seu programa Java, corresponde ao caminho e ao nome do arquivo que você deseja acessar exatamente . E lembre-se, os caminhos de arquivos do Linux são sensíveis a maiúsculas e minúsculas , ao contrário do sistema de arquivos do Windows.

FINALMENTE , se você confirmou que o caminho do arquivo não é o problema, poste o código Java que está sendo executado quando a exceção for lançada, e terei prazer em verificar mais sobre isso.

OR , consulte o seguinte:

link

para todos os detalhes de como trabalhar com componentes de E / S Java.

    
por kgallant 07.07.2014 / 03:07