Pegar o nome do arquivo (FILE)

Galera, não estou conseguindo pegar o nome do arquivo que eu quero salvar.
Dei um getName(), mas não funcionou.

[code]
private File arquivoPDF;
private String uploadFileName;

uploadFileName = arquivoPDF.getName();[/code]

Ele pega o arquivo temporário: upload_6dbe2904_12d50dbaa23__8000_00000003.tmp
Alguém saberia me dizer como faço pra pegar o nome do arquivo?

Pelo que entendi você quer pegar o nome original de um upload de arquivo para um servidor. Nesse caso o que você tem é o nome do arquivo como ele foi salvo durante o upload no servidor. O File nada mais é do que uma classe que referencia um arquivo exatamente como ele está no filesystem, ele não vai ter conhecimento do nome do arquivo na máquina do usuário que fez upload. Para conseguir o nome original ele tem que ser passado do cliente para o servidor e você tem que pegar ele da requisição.

Tudo isso que falei depende muito do framework que você está utilizando. Numa aplicação web clássica usando VRaptor 3, por exemplo, basta usar no método de upload do controlador a classe UploadedFile, ela possui um método que retorna a stream do arquivo e outro que retorna o nome original do arquivo, isto é, não existe um esforço real por parte do programador, está tudo encapsulado.

Abraços,

Felipe

Muito obrigado pela explicação.
Então Felipe, eu estou usando Struts 2.
Eu poderia usar a classe UploadedFile tbm ou teria outro jeito de fazer?

Aqui no GUJ mesmo tem um tutorial bom, espero que sirva:

Abraços,

Felipe