JAVA-只读取文件的第一行

我只想读取文本文件的第一行,并将第一行放在字符串数组中。

这是我所拥有的,但它读取整个文件。

myTextFile中的ex文本:

Header1,Header2,Header3,Header4,Header5 1,2,3,4,5 6,7,8,9,10 String line= System.getProperty("line.separator"); String strArray[] = new String[5]; String text = null; BufferedReader brTest = new BufferedReader(new FileReader(myTextFile)); text = brTest .readLine(); while (text != line) { System.out.println("text = " + text ); strArray= text.split(","); } 

如果我了解你,那么

 String text = brTest.readLine(); // Stop. text is the first line. System.out.println(text); String[] strArray = text.split(","); System.out.println(Arrays.toString(strArray)); 

使用BufferedReader.readLine()获取第一行。

 BufferedReader brTest = new BufferedReader(new FileReader(myTextFile)); text = brTest .readLine(); System.out.println("Firstline is : " + text); 

使用Java 8和java.nio您还可以执行以下操作:

 String myTextFile = "path/to/your/file.txt"; Path myPath = Paths.get(myTextFile); String[] strArray = Files.lines(myPath) .map(s -> s.split(",")) .findFirst() .get(); 

如果TAsks假设是正确的,你可以通过额外的实现来实现

 .filter(s -> !s.equals("")) 

我想你只是在它不是空的时候试图获得一条线。

您可以使用

  while ((text=brTest .readLine())!=null){ if(!text.equals("")){//Ommit Empty lines System.out.println("text = " + text ); strArray= text.split(","); System.out.println(Arrays.toString(strArray)); break; } } 

此外,除了此处介绍的所有其他解决方案之外,您还可以使用guava实用程序类( Files ),如下所示:

 import com.google.common.io.Files; //... String firstLine = Files.asCharSource(myTextFile).readFirstLine(); 

用这个

 BuffereedReader reader = new BufferedReader(new FileReader(textFile)); StringBuilder builder = new StringBuilder(); StringBuilder sb = new StringBuilder(); String line = br.readLine(); while (line != null) { sb.append(line); break; } if(sb.toString.trim().length!=0) System.out.println("first line"+sb.toString); 

您需要更改循环的条件

  String[] nextLine; while((nextLine = brTest.readLine()) != null) { ... } 

ReadLine读取每行从开始到出现\ r andor \ n您还可以使用tokenizer来分割字符串

 String[] test = "this is a test".split("\\s"); 

另外,如果在问题中请注意,文件似乎是CSV类型。