我有以下方法将数组写入文本文件。如果给出了现有的文本文件,那么它可以正常工作,但如果给出不存在的文件,则 try-catch 都不会运行代码来重新启动该方法。我没有得到任何错误或任何东西,但 catch 块不会运行。我认为我不需要捕获 IOException,但如果我不这样做,代码甚至都不会运行。所以,是的,有人知道我怎样才能让它工作吗?
编辑:忘了提到 getInput 方法提示用户输入。
private static void openFileWriter(String prompt, boolean append, int wordsperline, String[] story) {
try {
try {
save = new PrintWriter(new FileWriter(getInput(prompt), append));
wordsperline = 0;
save.println("");
save.println("");
save.println("Story start");
for (int x = 0; x <= story.length-1; x++) {
if (story[x] == null) {
} else {
if (wordsperline == 21) {
save.println(story[x]);
wordsperline = 0;
} else {
save.print(story[x]);
wordsperline++;
}
}
}
save.close();
} catch (FileNotFoundException e1) {
openFileWriter("File not found", append,wordsperline,story);
}
} catch (IOException e) {
// TODO Auto-generated catch block
openFileWriter("File not found", append,wordsperline,story);
}
}