FileNotFoundException (система не может найти указанный путь) - PullRequest
6 голосов
/ 13 декабря 2010

Я получаю это исключение:

java.io.FileNotFoundException: C:\...\filename.xml (The system cannot find the path specified)

используя этот код:

FileWriter fileWriter = new FileWriter(new File(path + date + time "filename.xml"));
BufferedWriter writer = new BufferedWriter(fileWriter);
writer.write("data");

Путь существует, но необходимо создать каталоги для «даты» и «времени». Приложение имеет полные права на каталог.

Есть идеи?

Ответы [ 4 ]

8 голосов
/ 13 декабря 2010

Проблема в том, что я создаю подкаталог для записи файлов.Таким образом, в настоящее время у меня есть C:\example\ и я хочу записать свои файлы в C:\example\<date>\<time>\<files>

. Перед записью необходимо позвонить File#mkdirs().

4 голосов
/ 13 декабря 2010

Предположим, что компьютер прав, а вы не правы.

И в этом случае каталог, в который вы хотите записать, не завершается (или не имеет разрешенийдля этого).

  1. проверить текущий рабочий каталог System.getProperty("user.dir")
  2. отладка оттуда
2 голосов
/ 13 декабря 2010

Код у меня работает.(Необходимо добавить writer.close() для отображения текста в файле.)

1 голос
/ 04 апреля 2014

Вам также необходимо преобразовать вновь созданные пути к файлам и папкам в строку.

File folder = new File("src\\main\\json\\", idNumber);
    folder.mkdir();

    if (!folder.exists()) {
        try {
            folder.createNewFile();
        } catch (IOException ex) {
            Logger.getLogger(JsonGeneration.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    ...
    ...
    FileOutputStream output = null;
        File file;
        String content = data.toString();

        try {

            String folder_location = folder.toString() + "\\";
            String filename = "CurrentInfo";
            file = new File(folder_location + filename.toString() + ".json");
            output = new FileOutputStream(file);

            if (!file.exists()) {
                file.createNewFile();
            }

            byte[] content_in_bytes = content.getBytes();

            output.write(content_in_bytes);
            output.flush();
            output.close();

        } catch (IOException ex) {
            Logger.getLogger(JsonGeneration.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            try {
                if (output != null) {
                    output.close();
                }
            } catch (IOException e) {
                Logger.getLogger(JsonGeneration.class.getName()).log(Level.SEVERE, null, e);
            }
        }

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