以下の例に従おうとしていますが、Java: ファイルの最後の行が空 であるかどうかを確認して、ファイルが CRLF(空の行) で終了するかどうかを判断しますが、メソッド RandomAccessFile に文字列を渡すと、ファイルが見つかりません. 問題は、ファイルパスを入力できないことですが、ファイルの内容を文字列として持っているため、 File f = new File(myString); を使用してファイルを作成しようとしました。次に、作成されたファイルをメソッドに渡しますが、機能せず、同じエラー(ファイルが見つかりません)が発生しました(ファイルの最初の行をパスと見なします)!
CRLFで終了するかどうかを確認したいファイルの内容を含む文字列から、RandomAccessFileで受け入れられるファイルを作成するにはどうすればよいですか。
私が明確だったことを願っています。
public static boolean lastLineisCRLF(String filename) {
RandomAccessFile raf = null;
try {
raf = new RandomAccessFile(filename, "r");
long pos = raf.length() - 2;
if (pos < 0) return false; // too short
raf.seek(pos);
return raf.read() == '\r' && raf.read() == '\n';
} catch (IOException e) {
return false;
} finally {
if (raf != null) try {
raf.close();
} catch (IOException ignored) {
}
}
}