Abrir e criar arquivo em outra máquina

13 respostas
D

Pessoal, estou tentando abrir e tb criar um arquivo em outra máquina.
Ex: tenho meu banco no ip 10.100.100.10 e os arquivos quero gerar no 10.100.100.20.

Estou tentando fazer da seguinte maneira:
fArq2 = new File("\\10.100.100.20\xx\teste_"+carqtxt);

mas só funciona se eu crio no mesmo banco.
fArq2 = new File(“d:\zz\xx\teste_”+carqtxt);

acredito que isso é uma limitação do Java, pois em pl eu consigo abrir e salvar em outra máquina. Ou devo estar fazendo algo errado.
Alguém sabe como posso solucionar este probleminha?

agradeço a atenção :slight_smile:

13 Respostas

paulodompieri

cara, ja tive esse problema, mas com um outro programa…

a solução minha foi mapea a unidade…

num sei c vai resolve o teu caso, mas eh uma boa tenta
^^

D

Não funcionou…

dá este erro : java.io.FileNotFoundException: No such file or directory

…acredito que é uma limitação do Java…

alguém tem mais alguma idéia?

airton.asg

Cara pra escrever o arquivo da pra fazer assim… (mas lembrando que vc tem q ter acesso a pasta q esta tentando criar o Arquivo.

import java.io.FileWriter;
import java.io.PrintWriter;


public class salvaArquivoOutraMaquina {
	public static void main(String[] args) {
		try{
			FileWriter file = new FileWriter("\\10.1.10.100\Pasta1\Pasta2\arquivo.txt");
			PrintWriter print = new PrintWriter(file);
			
			print.println("Teste");
			print.close();
			file.close();
		}catch(Exception err){
			err.printStackTrace();
		}
	}
}

Para Ler o Arquivo… (Também Lembrando que vc deve ter permissão para visualizar o diretório especificado por seu programa)

try{
    FileReader arquivoLeitura = new FileReader("\\10.1.10.100\Pasta1\Pasta2\arquivo.txt");
    BufferedReader strArquivo = new BufferedReader(arquivoLeitura);
			
    String linhaArquivo = null;
			
    while ((linhaArquivo = strArquivo.readLine()) != null){
            JOptionPane.showMessageDialog(null, linhaArquivo);
    }
    arquivoLeitura.close();
}catch(Exception err){
    err.printStackTrace();
}

Espero ter ajudado…

D

Eu tenho acesso a pasta e tb já testei desta forma que vc enviou, já testei com mapeamento e sem porém da o mesmo erro:

java.io.FileNotFoundException: No such file or directory

entrando na maquina do java consigo mapear o diretorio onde quero ler e gravar arquivos…entretando rodando o procedimento em java ele retorna o erro acima.

alguém tem mais idéias de como resolver este probleminha?

obrigada

airton.asg

Estranho pois estou aqui testando acessando meu servidor… q é outra maquia… aqui funcionou perfeitamente…

C vc colocar o endereço pelo explorer… vc consegue acessar a pasta… tipo…
Em uma pasta do explorer… vc digitar o endereço: “\10.1.10.100\Pasta1\Pasta2” (no seu endereço)

Veja c não esta pedindo senha para acesso…

D

Acesso é liberado …não pede senha…ja testei isso tb…

mesmo assim ocorre o erro…

D

Pessoal…necessito desta informação…alguém pode me ajudar?

ramilani12

Tente algo do Tipo:

File fonte = new File("arquivo.txt").
File destino = new File (" \10.10.0.1\pasta\arquivo.txt  ");


public void transferirArquivo(File fonte, File destino) throws IOException{
        InputStream in = new FileInputStream(fonte);
        OutputStream out = new FileOutputStream(destino);
    
        byte[] buf = new byte[1024];
        int len;
        while((len = in.read(buf)) &gt 0){
            out.write(buf, 0, len);
        }
        in.close();
        out.close();
    }
D

Este código eu já utilizei se coloco a caminho local funciona, mas quando coloco o mapeamento ou \10.10.0.1\pasta\arquivo.txt não tem jeito de funcionar da sempre o mesmo erro já descrito anteriormente.

será que é alguma permissão ou configuração do java?

D

codigo:

final static String DIR_DEFAULT_LOCAL = “\\10.100.100.20\dd\uni5\ediupnot\”;

fArq = new File(DIR_DEFAULT_LOCAL+carqtxt);
fArq2 = new File(DIR_DEFAULT_LOCAL+“teste_”+carqtxt);

iste código já ocorre erro…o primeiro arquivo utilizo para ler e o segundo para gravar, quando coloco o caminho local funciona.

por favor…se alguém puder dar mais dicas…agradeço :slight_smile:

ramilani12

Tenta o seguinte use metodo da Classe File getCanonicalPath() , esse metodo retorna o caminho onde se localiza o arquivo

Veja em qual caminho ele está tetando copiar

D

Utilizei o método que vc me indicou e está mapeando o caminho certo…mas ocorre o mesmo erro…

será que é alguma configuração ou versão do java?

D

Pessoal ainda contunuo com este problema, será que alguem pode me ajudar?

obrigada

Criado 21 de março de 2007
Ultima resposta 29 de mar. de 2007
Respostas 13
Participantes 4