Java 打印文本文件的字符串
在本例中,如何打印元素,即文件中的单词。 我的程序目前从一个名为input的文件中获取输入,其中包含“一二三四galumph”这样的单词。现在,它在单独的一行中列出每个单词,一旦到达“galumph”,它就会终止,这正是我想要的,但我也希望它在任何事情之前显示文件中的所有元素。我该怎么做?一开始我试着做了一个while循环,但是出现了错误。有什么建议吗Java 打印文本文件的字符串,java,string,while-loop,try-catch,java.util.scanner,Java,String,While Loop,Try Catch,Java.util.scanner,在本例中,如何打印元素,即文件中的单词。 我的程序目前从一个名为input的文件中获取输入,其中包含“一二三四galumph”这样的单词。现在,它在单独的一行中列出每个单词,一旦到达“galumph”,它就会终止,这正是我想要的,但我也希望它在任何事情之前显示文件中的所有元素。我该怎么做?一开始我试着做了一个while循环,但是出现了错误。有什么建议吗 import java.io.*; import java.util.Scanner; class EchoWords { public st
import java.io.*;
import java.util.Scanner;
class EchoWords {
public static void main(String[] args) throws FileNotFoundException {
String word;
String line;
try {
File file = new File("input");
Scanner s2 = new Scanner(file);
while(s2.hasNext()) {
String s = s2.next();
System.out.println(s);
while(true) {
word = s2.next();
if(word.equals("galumph")) {
break;
}else{
System.out.println(word);
continue;
}
}
System.out.println("bye!");
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
如果文件不太大,您可以一次读取文件的所有行,并将它们存储在
列表中
:
String fileName = "filePath";
List<String> allLines = Files.readAllLines( Paths.get( fileName ) );
这种方法的好处是,您只需读取文件一次。文件可能重复
//print all the lines
for ( String line : allLines )
{
System.out.println( line );
}
//print until galumph
for ( String line : allLines )
{
if ( "galumph".equals( line ) )
{
break;
}
else
{
System.out.println( line );
}
}