java.io里怎么判断读取文本时的行数? BufferedReader br = new BufferedReader(new FileReader("test.txt"); 我想把test的内容读出来,存到一个string数组里面去,数组一个元素代表一行。 可是,在没全部读完之前,我不知道行数啊,要怎么初始化那个string数组? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在没读完之前没办法行数,如果真要这么做的话就放在list里吧!而且list也可以调用toArray方法转换成数组 你可以自己在读之前声明一个int rowCount=0;然后每读一行就 rowCount++; 嗯,正如一楼所说的,你只能采用 List 再转为 String 数组就行了,因为在读之前根本不知道有多少行的,除非读两遍(第一遍数数,第一遍读行)。 import java.io.BufferedReader;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;public class Test{ public static void main(String args[]){ String[] strings=new String[0]; String line=null; try { BufferedReader br = new BufferedReader(new FileReader("f:/user.txt")); while((line=br.readLine())!=null){ String[] temp=new String[strings.length+1]; System.arraycopy(strings, 0, temp, 0, strings.length); temp[temp.length-1]=line; strings=temp; } for(String str:strings){ System.out.println(str); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }}你如果不用List的话,这样做吧! 谢谢大家,还是用list吧,问题解决。 谢谢大家,还是用list吧,问题解决。 实际上List也这么做的,只是它里面用了个cache而已! 如何定义StringBuilder组 产生20个int类型的随机数,针对每个数使用if-then-else判断它是大于、小于或等于下一个数,最后一个数不参与比较。 一个io输入输出流的问题[希望大家帮帮我吧] 怎样获得系统cpu队列长度,用什么函数? 怪怪怪!郁闷了五天了,无解!急,高手帮忙!我快气晕了! 问个弱弱的问题:0 日他妈的老板老是要我们加班? 请问怎么用JAVA向一个已经存在的文本文件输入字符,也就写文件?谢谢!(急!) 如何动态改变JTable中的内容 数组的赋值只能在方法体内吗? 刚学习JAVA很茫然,请前辈指点 什么情况下会下标越界?-给出的例子是否越界了?
因为在读之前根本不知道有多少行的,除非读两遍(第一遍数数,第一遍读行)。
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;public class Test{
public static void main(String args[]){
String[] strings=new String[0];
String line=null;
try {
BufferedReader br = new BufferedReader(new FileReader("f:/user.txt"));
while((line=br.readLine())!=null){
String[] temp=new String[strings.length+1];
System.arraycopy(strings, 0, temp, 0, strings.length);
temp[temp.length-1]=line;
strings=temp;
}
for(String str:strings){
System.out.println(str);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}你如果不用List的话,这样做吧!