Acessar um arquivo texto em uma servlet

Será que alguem poderia me ajudar com esse problema ?
Obrigado pela atenção

PROBLEMA:
Tenho uma classe java que é utilizada por uma servlet para acessar um arquivo no computador do cliente.

[color=red]ex:

File FIL1 = new File (origem);

if ( !FIL1.exists() )
{
enviar mensagem de erro
}

origem contém o path e o nome do arquivo,
ex:
c:\teste\arquivo.txt ou c:/teste/arquivo.txt[/color]

DÚVIDA:
Porque não consigo encontrar o arquivo ? O servidor não pode acessar um arquivo no cliente ? Existe outra forma de encontrar e ler o arquivo no servidor ? Quando utilizo o JBOSS funciona, mas não funciona no servidor, existe alguma razão ? Alguem poderia me ajudar com essas dúvidas ?

Mas ocorre erro ou simplesmente não acha o arquivo e o processo continua?

Se ocorre erro, coloque aqui pra gente dar uma olhada.

Olá,

Você não pode acessar um arquivo no cliente com um servlet. Se há uma forma, vc provavelmente terá q usar algum protocolo maluco pra acessar via network a máquina onde está o arquivo, além de ter permições para isso. Se isso existe em java, desconheço e nunca vi (e nem vejo) razões para tal.

Pense comigo, o seu JBoss ou servlet conteiner está no servidor. É uma aplicação java que está rodando normalmente em uma máquina. Você só pode acessar aquivos que estejam na mesma máquina da sua aplicação. Uma solução para isso é fazer um cliente java (uma aplicação normal), e fazê-la acessar o servidor via RMI ou web-services (RMI é beeeem mais rápido). Então a sua aplicação no cliente tem acesso ao arquivo normalmente.

É isso ae :wink:

[color=red][b]OCORRE

Exception: java.io.FileNotFoundException: C:/TESTE/ARQUIVO.txt (No such file or directory)[/b][/color]

Obrigado pelo retorno, mas agora estou sem saber o que fazer
qualquer luz (exemplo) será bem vindo

[quote=lance]Sim, o cliente dá o caminho do arquivo e ele procura na tua máquina. Por isso funciona.
Eu fiz um site, e tudo que eu precisa fazer no lado do cliente eu user javascript, acho q tu pode usar também pra isso (javascript, por rodar no lado do cliente, tem algumas restrições)

Oscar[/quote]

hein… :?:

[quote=eduardodrg]Obrigado pelo retorno, mas agora estou sem saber o que fazer
qualquer luz (exemplo) será bem vindo [/quote]

:arrow: vc cria sua aplicação no servidor (pode ser um servlet)
:arrow: vc cria uma aplicação java que deve rodar no cliente
:arrow: sua aplicação cliente e servidor se conectam via RMI
:arrow: sua aplicação cliente lê o arquivo na máquina cliente (onde a aplicação cliente está rodando) e processa ou envia o arquivo para a aplicação servidor

:wink:

Não entendi, eu tenho um javascript onde o usuário informa o arquivo e o caminho, esse não é o problema, o que acontece é que ao tentar ler esse arquivo no servidor, o java não encontra ele, e segundo a resposta do nosso colega esse mecanismo não é possivel

Obrigado pelas sugstões, mas não posso fazer esses procedimentos na minha empresa, além disso o pessoal do suporte não diz o que se deve fazer (nem tente entender)

o que tenho que fazer:
Enviar um tela para que o usuario informe o arquivo (nome e Path)
Ler esse arquivo e grava-lo em um diretório do servidor
Isso tudo em uma servlet

Acho que devo usar a classe FILEUPLOAD
mas não sei como fazer isso

Realmente. Se o cliente for um browser, vc pode fazer o upload do arquivo para o servidor. É uma tarefa até que simples…

Veja isso aqui:
http://jakarta.apache.org/commons/fileupload/

Ah, e tem esse exemplo também (muito bom):

http://www.javafree.org/javabb/viewtopic.jbb?t=10203

Fala a verdade, agora ficou fácil né? :wink:

Novamente, Obrigado pelo retorno

mas ainda tenho dúvidas.
Já fui no endereço informado

Não entendo porque o FILIUPLOAD usa um List
Eu sei qual é o arquivo origem e para onde ele deve ir (destino), porque devo ler um diretório (se for isso que eu entendi) ?

Não entendi onde informo o arquivo destino (nome/path) no exemplo, e não entendi onde informo o destino (nome/path)

vc pode me ajudar?
grato

correção:

Não entendi onde informo o [color=red]arquivo origem (nome/path) [/color]no exemplo, e não entendi onde informo o destino (nome/path)

Sim, o cliente dá o caminho do arquivo e ele procura na tua máquina. Por isso funciona.
Eu fiz um site, e tudo que eu precisa fazer no lado do cliente eu user javascript, acho q tu pode usar também pra isso (javascript, por rodar no lado do cliente, tem algumas restrições)

Oscar