В следующем SSCCE, я не получаю FileNotFoundException
даже если удалить этот файл из данного местоположения/пути, т.е. "D:\\Eclipse Workspaces\\SAMPLES AND OTHER SNIPPETS\\SoapCallResults.txt"
Java PrintWriter: Почему мы обрабатываем FileNotFoundException, если файл автоматически создается, если не найден?
Скорее PrintWriter
, кажется, создает файл, если он не найден.
Если Printwriter
создает файл, если он не найден, то почему мы пытаемся справиться с FileNotFoundException
(компилятор жалуется, если мы не окружают его с try/catch
или добавить пункт throws
), когда он никогда не будет выброшен ?
package com.general_tests;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
public class PrintWriterFileNotFoundExceptionTest {
public static void main(String[] args) {
String myName = "What ever my name is!";
PrintWriter printWriter = null;
try {
printWriter = new PrintWriter("D:\\Eclipse Workspaces\\SAMPLES AND OTHER SNIPPETS\\SoapCallResults.txt");
printWriter.println(myName);
} catch (FileNotFoundException e) {
System.out.println("FILE NOT FOUND EXCEPTION!");
e.printStackTrace();
} finally {
if (printWriter != null) { printWriter.close(); }
}
}
}
Documentations говорит: FileNotFoundException - Если данная строка не обозначает существующий, доступный для записи обычный файл, а новый обычный файл этого имени не может быть создан или если возникает некоторая другая ошибка при открытии или создании файла. –
. Разрешения, среди прочего, могут помешать писателю создать файл. – JonK
Downvoter: Скажите, пожалуйста, причину для downvote, иначе нет НИКАКОЙ возможности ПОВЫШЕНИЯ УЛУЧШЕНИЯ! – Solace