私はJavaのようにリソースファイルにテキストを出力しようとしています:
File file = new File(MLM.class.getClassLoader().getResource("mazes.txt").toString());
BufferedWriter out = new BufferedWriter(new FileWriter(file));
..
しかし、リソースファイルが作成されていないため、nullポインタ例外が発生します。このエラーを回避するために、空のリソースファイルがまだ存在しない場合、最初に作成するにはどうすればよいですか?
単純なnullチェックで十分です
URL u = MLM.class.getResource("/mazes.txt");
if (u != null) {
...
}
getResource のjavadocから
戻り値:
URLオブジェクト、またはこの名前のリソースが見つからない場合はnull
コードの前に使用できます:
この名前のファイルがまだ存在しない場合にのみ、この抽象パス名で名前が付けられた新しい空のファイルを原子的に作成します。ファイルの存在の確認と、存在しない場合のファイルの作成は、ファイルに影響を与える可能性のある他のすべてのファイルシステムアクティビティに関してアトミックな単一の操作です。