我只想读取文本文件的第一行,并将第一行放在字符串数组中。
这就是我所拥有的,但它读取整个文件。
myTextFile中的ex text:
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(",");
}
答案 0 :(得分:13)
如果我理解你,那么
String text = brTest.readLine();
// Stop. text is the first line.
System.out.println(text);
String[] strArray = text.split(",");
System.out.println(Arrays.toString(strArray));
答案 1 :(得分:13)
使用BufferedReader.readLine()
获取第一行。
BufferedReader brTest = new BufferedReader(new FileReader(myTextFile));
text = brTest .readLine();
System.out.println("Firstline is : " + text);
答案 2 :(得分:2)
使用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(""))
答案 3 :(得分:1)
我认为只有当它不是空的时候你才会尝试获得一行。
您可以使用
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;
}
}
答案 4 :(得分:1)
此外,除了此处提供的所有其他解决方案之外,您还可以使用guava
实用程序类(Files
),如下所示:
import com.google.common.io.Files;
//...
String firstLine = Files.asCharSource(myTextFile).readFirstLine();
答案 5 :(得分:0)
使用此
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);
答案 6 :(得分:0)
我希望这会对某人有所帮助
阅读第一行:
public static String getFirstLine() throws IOException {
BufferedReader br = new BufferedReader(new FileReader("C:\\testing.txt"));
String line = br.readLine();
br.close();
return line;
}
阅读全文:
public static String getText() throws IOException {
BufferedReader br = new BufferedReader(new FileReader("C:\\testing.txt"));
StringBuilder sb = new StringBuilder();
String line = br.readLine();
while (line != null) {
sb.append(line).append("\n");
line = br.readLine();
}
String fileAsString = sb.toString();
br.close();
return fileAsString;
}
答案 7 :(得分:-1)
您需要更改循环的条件
String[] nextLine;
while((nextLine = brTest.readLine()) != null) {
...
}
ReadLine从开始到出现\ r andor \ n读取每一行 您还可以使用tokenizer拆分字符串
String[] test = "this is a test".split("\\s");
此外,如果请在问题中提及,那么文件似乎是CSV类型。