Erro diretorio no Soket

2 respostas
AndreBatista

Pessoal…

Estou com uma duvida no diretorio Linux nesse Socket, ele consegue conectar, porém não acha o arquivo.

outra Duvida, eu poderia colocar todos os nomes de arquivo para ele pegar qualquer arquivo que entrar na pasta dessa forma: *.txt?

Por favor preciso de ajuda!

import java.io.DataInputStream;  
    import java.io.DataOutputStream;  
    import java.io.File;  
    import java.io.FileInputStream;  
    import java.io.FileOutputStream;  
    import java.net.InetAddress;  
    import java.net.Socket;  
    import java.net.UnknownHostException;  
      
      
    public class Client {  
      
       public static void main(String[] args) {  
          int port = 5000;  
          InetAddress ia = null;     
          try {     
             ia = InetAddress.getLocalHost();     
          } catch (UnknownHostException e) {     
             e.printStackTrace();     
          }     
      
          //String IP = ia.getHostAddress();  
          String IP = "192.168.88.164";  
          String inFile = "\\root/PEDIDOS/testeServer.txt";  
          String outFile = "C:\\testeCliente.txt";  
          try {  
             Socket MyCliente = new Socket(IP,port);  
      
             File file = new File(outFile);  
      
             DataInputStream input = new DataInputStream(new FileInputStream(file));  
             DataOutputStream output = new DataOutputStream(new FileOutputStream(inFile));  
      
             DataInputStream inputMsg = new DataInputStream(MyCliente.getInputStream());  
             DataOutputStream outputMsg = new DataOutputStream(MyCliente.getOutputStream());  
      
             outputMsg.writeUTF(ia.getHostAddress());  
             outputMsg.writeUTF(ia.getHostName());  
      
             int readByte = inputMsg.read();     
             while (readByte !=-1) {     
                output.write((byte)readByte);     
                readByte = inputMsg.read();     
             }    
      
             byte[] cache = new byte[10240];   
             int size = 0;   
             while ((size = input.read(cache)) > -1)    
                outputMsg.write(cache, 0, size);   
      
             inputMsg.close();  
             outputMsg.close();  
             input.close();  
             output.close();  
             MyCliente.close();  
          } catch (Exception e) {  
             System.err.println(e.toString());  
          }  
       }  
    }
import java.io.*;  
    import java.net.*;  
      
      
    public class Server {  
       public static void main(String[] args){  
          int port = 5000;  
          String outFile = "C:\\testeServer.txt";  
          String inFile = "C:\\testeCliente.txt";  
          try {  
      
             ServerSocket MyService = new ServerSocket(port);  
             System.out.println("Aguardando conexão...");  
      
             Socket serviceSocket = MyService.accept();  
      
             File file = new File(outFile);  
      
             DataInputStream input = new DataInputStream(new FileInputStream(file));  
             DataOutputStream output = new DataOutputStream(new FileOutputStream(inFile));  
      
             DataInputStream inputMsg = new DataInputStream(serviceSocket.getInputStream());  
             DataOutputStream outputMsg = new DataOutputStream(serviceSocket.getOutputStream());  
      
             System.out.println("IP: " + inputMsg.readUTF());  
             System.out.println("Nome: " + inputMsg.readUTF());  
      
             byte[] cache = new byte[10240];   
             int size = 0;   
             while ((size = input.read(cache)) > -1)    
                outputMsg.write(cache, 0, size);   
      
             int readByte = inputMsg.read();    
             while (readByte !=-1) {     
                output.write((byte)readByte);     
                readByte = inputMsg.read();     
             }    
      
             //inputMsg.close();  
             //outputMsg.close();  
             //input.close();  
            // output.close();  
            // serviceSocket.close();  
             //MyService.close();  
          } catch (Exception e) {  
             System.err.println(e.toString());  
          }  
       }  
    }

o erro que esta acontecendo é o seguinte:

java.io.FileNotFoundException: \root\PEDIDOS\testeServer.txt (O sistema não pode encontrar o caminho especificado)

2 Respostas

B

No Linux, os nomes de arquivos:

  1. São sempre com “/”, nunca com “\” (a propósito, no Windows você pode usar “/” em vez de “” mas no Linux você não pode usar “” no lugar de “/” )
  2. Precisam estar especificados exatamente com a combinação correta de minúsculas e maiúsculas. “/root/PEDIDOS/testeServer.txt” e “/root/pedidos/testeServer.txt” são coisas diferentes.
AndreBatista

Não deu certo!

Lembrando que é de uma plataforma Windows para Linux.

O erro:

run:
java.io.FileNotFoundException: \root\PEDIDOS\testeServer.txt (O sistema não pode encontrar o caminho especificado)

Criado 20 de dezembro de 2012
Ultima resposta 20 de dez. de 2012
Respostas 2
Participantes 2