java.io.IOException: неверный путь к файлу при создании и записи в файл - PullRequest
0 голосов
/ 16 марта 2019

Я пытаюсь создать файл в каталоге, но когда код выполняется, он возвращает ошибку 'java.io.IOException: Invalid file path'.И код создает каталог с именем «ServerUploads», но не создает файл .Ниже приведен фрагмент кода:

   public static String performUploadOperation(byte[] file, String filename)
        throws IOException {
    //creating a directory to store file.
    //creating a directory to store users
    File userDirectory = new File("C:\\ServerUploads");
    //check if directory does not exist.
    if (!userDirectory.exists()) {
        userDirectory.mkdir();
    }


        File crreate = new File(userDirectory + "\\" +  filename);

        if(!crreate.exists())
        crreate.createNewFile();




    try{
    //convert the bytearray retrieved to a file and upload to server folder.
   FileOutputStream fos = new FileOutputStream(crreate);
   System.out.println(fos.toString());
        //write file to directory.
        fos.write(file);
        fos.close();
    }catch(FileNotFoundException e){
        e.printStackTrace();
    }
    sucess = "600 - The file has been successfully uploaded!";
    return sucess;
}

Имя файла, передаваемого в качестве аргумента: 'upload.txt' .Я не уверен, почему это не работает.Любая помощь приветствуется.Спасибо!.Пожалуйста, посмотрите, мне нужен метод, чтобы return a String, а не void, как я должен далее return его клиенту.

Ответы [ 2 ]

0 голосов
/ 16 марта 2019

Я нашел решение проблемы.Решением было добавить «.trim ()» в строку имени файла.Должно быть, когда вошел файл, должно было быть несколько пробелов.

0 голосов
/ 16 марта 2019

Я попробовал следующий блок кода, просто изменив тип возврата String на void, так как ничего не было возвращено. Это сработало. Папка и файл оба будут созданы. Вот кодовый блок для того же:

public static void performUploadOperation(byte[] file, String filename)
        throws IOException {
    //creating a directory to store file.
    //creating a directory to store users
    File userDirectory = new File("C:\\ServerUploads");
    //check if directory does not exist.
    if (!userDirectory.exists()) {
        userDirectory.mkdir();
    }
    File crreate = new File(userDirectory + "\\" + filename);

    if (!crreate.exists())
        crreate.createNewFile();
}

Вызов вышеуказанной функции из основного:

public static void main(String args[]) throws IOException {
    performUploadOperation("abc".getBytes(),"testfile");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...