【发布时间】:2014-01-29 11:18:08
【问题描述】:
我有一个要求,我需要读取文件的内容,每行都需要读入一个数组并拆分行并将值存储到单独的变量中以供进一步处理。
文件中的样本数据
175 31 4 877108051
62 827 2 879373421
138 100 5 879022956
252 9 5 891456797
59 421 5 888206015
预期输出
arr[1][1] = 175
arr[1][2] = 31
arr[1][3] = 2
arr[1][4] = 879373421
arr[2][1] = 62
arr[2][2] = 827
arr[2][3] = 4
arr[2][4] = 877108051
.
.
.
我能够使用 StringTokenizer 正确拆分,但在形成令牌后无法访问单个元素。尝试使用 Array.split(),但它没有将值拆分为单独的数组值。请帮帮我。提前致谢。
我的代码
static public void main(String[] args) {
File file = new File("small.txt");
String[] lines = new String[100];
FileReader reader = new FileReader(file);
BufferedReader buffReader = new BufferedReader(reader);
int x = 0;
String s;
while((s = buffReader.readLine()) != null){
lines[x] = s;
// Using StringTokenizer
StringTokenizer st = new StringTokenizer(lines[x]);
while (st.hasMoreTokens()){
System.out.println("Next token:"+st.nextToken());
}
// Using Split()
String[] split1 = lines[x].split(" ");
int size = split1.length;
System.out.println("Split size:"+size);
int i = 0;
for (String value : split1) {
System.out.println("Index:"+i+" "+ value); i++;}
}
【问题讨论】:
标签: java arraylist stringtokenizer