Pergunta

Eu encontrei este bruxa eu tentei e ele funciona muito bem, mas (!). Eu quero armazenar o arquivo em uma pasta que eu vou escolher e também obtê-lo a partir de uma pasta que vou novamente escolheu. Desde o remetente obter um argumento então eu suponho que se eu der um argumento como /home/user/test.txt então isso é ok e ele vai funcionar muito bem, mas eu não entendo como para armazenar o arquivo para uma pasta específica ( a parte do servidor em outras palavras). Alguma ideia?

Se eu estiver errado sobre o argumento por favor, por todos os meios me corrigir: D

PS:. Ele funciona muito bem para pasta padrão do Netbeans' (sem especificação da pasta para o remetente ou Server)

Qualquer ajuda apreciado.

Foi útil?

Solução

Francamente falando, embora eu me sinto mal sobre fazer sua lição de casa, eu sou apenas de bom humor:)

No código abaixo (FileReciever) i ter adicionado uma nova pasta variável que é initalized do primeiro argumento passado para main (). Assim, o nome da pasta que você deseja salvar o arquivo na TBE mus passado como o primeiro argumento. A única outra linha Eu mudei é: arquivo file = new File (pasta, file_name);

private String folder = "";
public static void main(String[] args) {
try {
  folder = args[0];
  ServerSocket listener = new ServerSocket(port);

  while (true) {
    FileReceiver file_rec = new FileReceiver();
    file_rec.socket = listener.accept();  

    new Thread(file_rec).start();
  }
}
catch (java.lang.Exception ex) {
  ex.printStackTrace(System.out);
}

}

public void run() {
    try {
      InputStream in = socket.getInputStream();


  int nof_files = ByteStream.toInt(in);

  for (int cur_file=0;cur_file < nof_files; cur_file++) {
    String file_name = ByteStream.toString(in);

    File file=new File(folder, file_name);

    ByteStream.toFile(in, file);
  }
}
catch (java.lang.Exception ex) {
  ex.printStackTrace(System.out);
}

}

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