0
我對Java有點新鮮感,並運行這個程序,要求我輸入文件名,讀取文件中的信息,使用它填充數組,然後詢問文件的名稱將輸出打開。 但是,當我要求輸出的文件名時,它從來沒有正確讀取它,我不知道爲什麼。 我使用掃描儀,這是我必須現在編碼:文件中的Java輸出
System.out.println("What file name?");
Scanner teclat = null;
try {
teclat = new Scanner(System.in);
} catch (Exception e) {
System.err.println("Wrong name!");
System.exit(-1);
}
String fitxer = teclat.toString();
PrintWriter surtida = new PrintWriter(new FileWriter(fitxer));
teclat.close();
String fitxer = teclat.next().trim();
然後我做印刷:
if(this.esBuit())
System.err.println("Llista de llenguatges buida!");
else {
Node p = this.buscarNode(lleng); // Busquem el Llenguatge lleng i imprimim tots els que han estat influenciats per aquest
System.out.println("- - - - - - -\n");
System.out.println("Llenguatges influenciats per "+lleng+":");
while(p.inf != null) {
System.out.print(p.inf.nom+"\n");
p = p.inf;
}
System.out.println("- - - - - - -");
}
但是,如果我嘗試後先打印文件名使用System.out.printnl
代碼塊會打印一個奇怪的引用,就好像它沒有正確讀取文件名一樣。 我該如何使它工作?
編輯:我更新了我的代碼,並添加了一個可能相關的新問題: 我試過了,沒有任何變化。我想別的東西,在節目中,最開始的時候我真正的輸入文件名,它讀取的第一行,並做到這一點:
String s = fitxer.toString();
String b1 = s.substring(0,11);
System.out.println(b1);
String b2 = s.substring(0,14);
System.out.println(b2);
而這種打印:
java.util.S
java.util.Scan
爲什麼?
我不知道它是否有關,但警告出現在該行'PrintWriter的surtida =的新PrintWriter(新的FileWriter(fitxer));',究竟在'surtida'中,它告訴我要添加suppressWarning,爲什麼會出現這個問題?我試着你的建議,它顯示我在我改變了通道這個錯誤:'在線程中的異常「主」java.util.NoSuchElementException:沒有找到線「 –
'NoSuchElementException'意味着沒有輸入行,也許它是一個空行? –
事情是,我只能輸入要讀取的文件的名稱,然後當它使用信息時,一些異常跳轉,然後直接轉到此方法,它會打印System.out.printnl,但我不能type,它就像它讀取我沒有輸入的內容 –