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,它就像它读取我没有输入的内容 –