Я пытаюсь создать новый объект PrintWriter в блоке try с ресурсами, как показано ниже, но выдает ошибку: 1001 *:
public class DataSummary {
PrintWriter outFile;
public DataSummary(String filePath) {
// Create new file to print report
try (outFile = new PrintWriter(filePath)) {
} catch (FileNotFoundException e) {
System.out.println("File not found");
e.printStackTrace();
}
}
EDIT:
Причина, по которой я не хотел объявлять объект PrintWriter в блоке try, заключается в том, что я хочу иметь возможность ссылаться на объект outFile
в других методах моего класса.
Кажется, что я не могу сделать это с помощью try с ресурсами, поэтому я создал его в обычном блоке try / catch / finally.
Текстовый файл создается. Однако, когда я пытаюсь записать в файл другим способом, в текстовом файле ничего не печатается, test.txt
.
Почему это ??
public class TestWrite {
PrintWriter outFile;
public TestWrite(String filePath) {
// Create new file to print report
try {
outFile = new PrintWriter(filePath);
} catch (FileNotFoundException e) {
System.out.println("File not found");
e.printStackTrace();
} finally {
outFile.close();
}
}
public void generateReport() {
outFile.print("Hello world");
outFile.close();
}
}