.sfo (SQL と Fortran の組み合わせ) ファイルを調べて、ファイルに表示されるたびに特定の文字セットを削除する Java コードを書いています。私は 64 ビットの Windows 7 マシンで Eclipse を使用しています。コードは、文字のブロックなどを削除して、必要なことを実行していますが、最後に、出力が表示された後、「エラー: そのようなファイルまたはディレクトリはありません」と表示されます。どうしてか分かりません; 私が参照している唯一の外部ファイルは、前述の .sfo です。ファイルは存在し、コードで指定したファイル パスは正しいです。ファイルの読み取りと書き込みの権限があります。これが私のコードです(多かれ少なかれ、多くは繰り返しなので、重要でないものをいくつか切り取ります):
絶対パスは
C:/Users/frencke/p4/frencke_LOHEPCE00294173/pcs/main/lib/gp/file.sfo.
はい、ファイルに対する完全な権限を持っています。
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
public class StringSplit {
public static void main(String args[]) {
try {
ArrayList<String> arr = new ArrayList<String>();
// Here I initialized a bunch of ArrayLists; nothing relevant
ArrayList<String> arr26 = new ArrayList<String>();
FileInputStream fstream = new FileInputStream(
"C:/Users/.../file.sfo");
BufferedReader br = new BufferedReader(new InputStreamReader(fstream));
String strLine;
while ((strLine = br.readLine()) != null) {
arr.add(strLine);
String[] temp;
String delimiter = "\\s+\\s+\\s+\\s+\\s+&\\s+";
temp = strLine.split(delimiter);
for (int i = 0; i < temp.length; i++)
arr2.add(temp[i]);
// Here I did all of the removal of the various blocks of text
String[] temp27;
String delimiter27 = "\t9";
String strLine27 = null;
for (int i = 0; i < temp26.length; i++)
strLine27 = temp26[i];
temp27 = strLine27.split(delimiter27);
for (int i = 0; i < temp27.length; i++)
System.out.println(temp27[i]);
in.close();
}
} catch (Exception e) {
System.err.println("Error: " + e.getMessage());
}
}
}
ここでも、「エラー: そのようなファイルまたはディレクトリはありません」というエラー メッセージが表示されました。なぜこれが起こっているのか誰かが知っているなら、私はそれを聞きたいです; ありがとう!