2015-01-27 5 views
-1

У меня проблема с файловой сортировкой в ​​java. Я нашел этот вопрос Java IO: file is not generatedJava IO-файл не скрещивается без исключения исключения

но это не дало ответа.

My tomcat webapp может создавать файл xml в удаленной папке (\ myserver \ myfolder) при запуске на моем окружении dev. когда я публикую его в среде test и rpod, мое приложение ничего не создает и эти две машины находятся в той же сети, где находится моя локальная среда, и у них есть одинаковые гранты. Это также не вызывает никаких исключений !!!

вот мой код:

try{    
     Util.useNet(true, "\\\\myserver\\myfolder\\"); 
     fos = new FileOutputStream("\\\\myserver\\myfolder\\")+ fileName); 
     fos.write("<?xml version=\"1.0\"?>".getBytes("UTF-8")); 
     byte[] bytes = xml.getBytes("UTF-8"); 
     fos.write(bytes); 
     fos.flush(); 
    }catch (Exception e){ 
     Log.setErrorLog("errore", e); 
    } 
    finally{ 
      try{ 
       fos.close(); 
      }catch (Exception e) { 

      } 
    } 

метод "Usenet" также вызовите команду "NET USE" (просто чтобы быть уверенным).

+2

Этот код не будет даже компиляции - '«\\ MyServer \ моя_папка \»' не является допустимым строковый литерал. –

+0

мой ошибка в письме здесь! infact написано так в моей самой программе: «\\\\ myserver \\ myfile \\». и если вы хотите знать, в моей программе я получаю его из файла конфигурации! если у вас есть что-то конструктивное, поделитесь – BohBah

+0

проверенными разрешениями на папку? – Prashant

ответ

0

спасибо всем за ваш ответ, я нашел их очень полезными! :)

Я нашел проблему: это было в тот момент, когда мы называем метод «net use».

Прежде всего «сетевое использование» не принимает путь с косыми чертами в конце. Пример:

cmd net use /c \\\\myserver\\myfolder\\ mypassword /user:mydomain\\myuser 

эта команда Nomally генерирует исключение, если оно правильно писать, но в моем случае thatit не из-за этого:

/user:mydomain\\myuser 

я заметил thah, когда я получаю от моего файла .properties свойство «mydomain \ myuser», его значение было следующее: «mydomain \ myuser».

Java не любит одиночный слэш, так что результат был «использование сети» команда, которая была так:

cmd net use /c net use \\\\myserver\\myfolder\\ mypassword /user:[email protected] 

это была причиной проблемы не метание-исключений. Исправлено это, он выбрасывает «filenotfoundexception: access denied», но это еще одна история.

Таким образом, в конце концов, здесь команда «чистое использование» правильно:

cmd net use /c \\\\myserver\\myfolder mypassword /user:mydomain\\myuser 

Глупая ошибка отвлечение я чувствую ashame, извините все!

Спасибо всем еще раз за вашу помощь

Смежные вопросы