Java 打印文本文件的字符串

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

在本例中,如何打印元素,即文件中的单词。 我的程序目前从一个名为input的文件中获取输入,其中包含“一二三四galumph”这样的单词。现在,它在单独的一行中列出每个单词,一旦到达“galumph”,它就会终止,这正是我想要的,但我也希望它在任何事情之前显示文件中的所有元素。我该怎么做?一开始我试着做了一个while循环,但是出现了错误。有什么建议吗

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 );
     }

 }