Pergunta

Estou tentando me referir a um local no meu computador, no entanto, Java está me dizendo que tenho a sintaxe errada.

Esta linha está correta?

Arquivo recém -apploadedfile = novo arquivo ("d: " + nome do arquivo);

O problema é que o arquivo é carregado corretamente para o local que eu quero, mas recebo o erro:

java.io.ioException: o nome do arquivo, o nome do diretório ou a sintaxe do rótulo de volume está incorreto

Foi útil?

Solução

Escape suas barras de barriga em cordas java, sempre.

File newlyUploadedFile = new File("D:\\" + fileName);

A IoException é causada pelo sistema não encontrando o arquivo especificado no nome do arquivo. Tente adicionar

newlyUploadedFile.exists();

e veja o que ele retorna. Se o seu caminho retornar FALSE, você terá um erro no nome do arquivo.

Outras dicas

Primeiro, o código conforme apresentado na pergunta não será compilado. Mas como você viu uma ioexception, você está claramente executando código diferente.

Para obter uma ioexception reclamando da sintaxe do nome do caminho, deve haver algo errado com o PathName. O que "D:\\" + fileName realmente te dar? Adicionar uma chamada para System.err.println(...) para ver o que é.

Notas:

  1. Esse texto de exceção vem do sistema operacional Windows, não da Java.

  2. Nunca há necessidade de usar barras de barriga nos nomes de arquivos Java. Pelo menos se houver, nunca encontrei um em 13 anos.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top