проверка наличия каталога на удаленном компьютере и копирование файла на него - PullRequest
1 голос
/ 18 августа 2011

У меня есть общая папка F на удаленном компьютере M. Теперь я хочу запустить программу на своем локальном компьютере, которая выполняет следующие действия.

Check if subfoder  S exists with \\remoteMachine\F
   if S exists then copy my file tstfile.txt within S
   else if S does not exist then 
      create S at \\remoteMachine\F and 
      copy tstfile.txt within S.

В настоящее время я использую следующее для копирования файла, но не могу понять логику копирования папки

 InputStream in = new FileInputStream(new File("C:\\testData\\aks.txt"));
 OutputStream out = new FileOutputStream(new File("\\remotemachine\\tst.txt"));

 //Transfer bytes from in to out
 byte[] buf = new byte[1024];
 int len;
 while ((len = in.read(buf)) > 0) {
     out.write(buf, 0, len);
 }
 in.close();
 out.close();
 System.out.append("done with copying");

1 Ответ

0 голосов
/ 26 марта 2013

Если бы мне нужно было угадать:

OutputStream out = new FileOutputStream(new File("\\remotemachine\\tst.txt"));

Вместо этого должно быть:

OutputStream out = new FileOutputStream(new File("\\\\remotemachine\\tst.txt"));

Вам необходимо правильно избежать этих обратных слешей.Другой (потенциально более простой) вариант - сопоставить удаленный компьютер как сетевой диск и получить к нему более удобный доступ, например:

OutputStream out = new FileOutputStream(new File("M:\tst.txt"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...