テキストファイルに配列を書き込むには、次の方法があります。既存のテキストファイルが指定されている場合は正常に機能しますが、存在しないファイルが指定されている場合は、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);
}
}