私は、Cpp ファイルを受け取り、ファイル内のコメントを読み取り、それに基づいてヘッダー ファイルを作成しようとするパーサー (趣味のプロジェクト) のようなものに取り組んでいます。
私が直面している問題は、java.util.Scanner
が最初の行を読み込もうとしているときです。プログラムが停止し、NoSuchElementException
. 何が間違っているのか本当にわかりません。パスとパス名の両方が正しく作成されていることを確認しました。ファイルがそこにある必要があり、デバッグ時に Scanner オブジェクトのフィールドも読み取ることができます。では、正確には何が問題なのですか?
ファイルに行がないと思われるかもしれないとほのめかす人もいました。
で問題が発生while((line = scanner.next()) != null) {
@Override
public void run() {
Scanner scanner = null;
String filename = "", path = "";
StringBuilder puBuilder, prBuilder, viBuilder;
puBuilder = new StringBuilder();
prBuilder = new StringBuilder();
viBuilder = new StringBuilder();
for(File f : files) {
try {
filename = f.getName();
path = f.getAbsolutePath();
path = path.replace(filename, "");
filename = filename.replace(".cpp", "");
scanner = new Scanner(new FileReader(f));
} catch (FileNotFoundException ex) {
System.out.println("FileNotFoundException: " + ex.getMessage());
}
String line;
String tag;
while((line = scanner.next()) != null) {
line = line.trim();
if(line.startsWith(PUBLIC)) {
tag = PUBLIC;