JAVA: IO новый файл (имя файла) выбрасывает "Не могу прочитать входной файл!" - PullRequest
1 голос
/ 09 июля 2011

Я пытаюсь создать файл с одного сервера на другой. Сервер A выполняет сценарий, который должен создать файл на одном сервере B. На сервере A есть сценарий, который создает папку без проблем (без разрешения или чего-либо еще) и вызывает следующий код после создания папки:

byte[] btDataFile = new sun.misc.BASE64Decoder().decodeBuffer(base64);
File of = new File("driverLetter:\folder_path\filename.png");
FileOutputStream osf = new FileOutputStream(of);
osf.write(btDataFile);
osf.flush();

"base64" - это строковое представление base64 изображения в формате png, которое мне нужно создать в виде файла. Значение строки довольно длинное, поэтому я не могу опубликовать его здесь, но оно есть, не пустое, не нулевое, оно имеет значение. Но код выдает ошибку:

"Can't read input file!"

Почему скрипт может прочитать "входной файл"? Спасибо

Ответы [ 3 ]

5 голосов
/ 09 июля 2011

Используйте косую черту в пути к файлу. Или избежать обратной косой черты с \\.

2 голосов
/ 09 июля 2011

Вам необходимо использовать escape-символ, поскольку обратный слеш зарезервирован Java.Попробуйте двойную обратную косую черту, как это

File of = new File("driverLetter:\\folder_path\\filename.png");
1 голос
/ 09 июля 2011

Также предлагается использовать

File.separator
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...