私はファイルパスのテキストファイルを持っており、それらのファイルパスの配列が必要です。しかし、ファイルパスの中には、行頭に感嘆符を付けてコメントアウトしているものがあります。これらの行を配列に含めたくありません。処理中 - loadStrings()で特定の行を省略してテキストファイルを解析する
現在、テキストファイル全体をloadStrings()
を使用して配列に配置してから、配列全体を繰り返し、 "!"で始まらない要素だけを配置します。 StringList
で、StringList
を配列に戻す前に、余分なスペースを持たない「コメント付きでない」ファイルパスのみを含む配列を取得します。
これは非常に非効率的で扱いにくいようですので、誰でもこれを達成するためのより良い方法を知っていますか? "!"で始まる行を無視する方法はありますか?元の読み取り段階で、または失敗した場合、最初の配列からこれらの要素を簡単に削除し、それに応じて配列のサイズを変更する方法がありますか?
現在のコード:
String file = "File_Paths.txt";
String[] filePaths_raw = loadStrings(file);
StringList filePaths = new StringList();
for (int i = 0; i < filePaths_raw.length; i++) {
if (filePaths_raw[i].charAt(0) != 33) {
filePaths.append(filePaths_raw[i]);
}
}
filePathsArray = new String[filePaths.size()];
for (int i = 0; i < filePathsArray.length; i++) {
filePathsArray[i] = filePaths.get(i);
}
https://stackoverflow.com/questions/6351224/parse-text-file-line-by-line-skipping-certain-linesの重複? – niutech
具体的には、 'loadStrings()'関数が1つのファイル全体を解析するので、Javaで可能なようにファイルを行単位で読むことができますか? –
はい、[BufferedReader](https://processing.org/reference/BufferedReader.html)を使用しています。 – niutech