比如我文本文件里面有这么些数据
a;b;c;d;e;f;g;h;j;k;l;m
arrayList array=new array();
遇到一个分号,array就add一次
这是我的代码
String line;
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
line = reader.readLine();
int i=0;
while (line.indexOf(";")>0) { // 这一行有毛病,因为只读取第一行
array.add(i, line); //这一行也有毛病,这里添加也错了, 但是要怎么写呢? 请教高手
line = reader.readLine();
i++;
}内容如上请高手指点。
a;b;c;d;e;f;g;h;j;k;l;m
arrayList array=new array();
遇到一个分号,array就add一次
这是我的代码
String line;
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
line = reader.readLine();
int i=0;
while (line.indexOf(";")>0) { // 这一行有毛病,因为只读取第一行
array.add(i, line); //这一行也有毛病,这里添加也错了, 但是要怎么写呢? 请教高手
line = reader.readLine();
i++;
}内容如上请高手指点。
new array()?
没有这个写法
要吗就写List<String> array = new ArrayList<String>();
要吗就写arrayList array = new String[]{};
两个错误地方都是由这个引起的
public void readToBuffer(ArrayList array, InputStream is)
throws IOException {
String line;
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
line = reader.readLine();
int i=0;
while (line.indexOf(";")>0) { // 这一行有毛病,因为只读取第一行
array.add(i, line); //这一行也有毛病,这里添加也错了, 但是要怎么写呢? 请教高手
line = reader.readLine();
i++;
}
}
不是那个问题,仔细看一下,比如我有两行数据, 再看看它的循环条件,当找不到分号就停止了,就不能进行第二行的读取吧,
还有在保存的时候,遇到一个分号我要把分号前面的字符串保存进去, 而我把整行都保存了进去,我不知道怎么操作,
所以我说那两行有问题,本身代码是没问题的
char[] c=String.split(";");
我提供一个思路
String line;
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
line = reader.readLine();
while(line!=null){
if(line.indexOf(";")>0) { // 这一行有毛病,因为只读取第一行
String[]temp=line.split(";"); //这一行也有毛病,这里添加也错了, 但是要怎么写呢? 请教高手
for(int i=0;i<temp.length;i++){
array.add(temp[i]);
}
}else{
array.add(line);
}
line = reader.readLine();
}