你从文本中读取二维数组?就是文本文件中有很多行,每一行都是一些double值,以空格分开
然后这样的每行合计?BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("a.txt")));String line = br.readLine();
Vector v = new Vector();
while(line!=null) {
StringTokenizer st = new StringTokenizer(line," ");
double d = 0f;
while(st.hasMoreToken()) {
d += Double.parseDouble(st.nextToken());
}
v.add(new Double(v));
}
然后这样的每行合计?BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("a.txt")));String line = br.readLine();
Vector v = new Vector();
while(line!=null) {
StringTokenizer st = new StringTokenizer(line," ");
double d = 0f;
while(st.hasMoreToken()) {
d += Double.parseDouble(st.nextToken());
}
v.add(new Double(v));
}
23.442,1.22,5
12.22221,42.2,43.22
....
Sample code:
LinkedList listDoubleArray = new LinkedList();//element = String[]
//read file
FileInputStream fis = new FileInputStream("...");
InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
BufferedReader br = new BufferedReader(isr);
String line;
int max = 0; // max length of x.
while ( (line = br.readLine() != null)
{
String[] aryTemp = line.split("[\\,]");
if (max < aryTemp.length)
max = aryTemp.length;
listDoubleArray.add(aryTemp);
}
br.close();
double[][] aryNum = new double[listDoubleArray.size()][max];
int x = 0;
for (Iterator itr = listDoubleArray.iterator(); itr.hasNext(); x++)
{
String[] aryTemp = (String[])itr.next();
for (int y = 0; y < aryTemp.length; y++)
aryNum[x][y] = Double.parseDouble(aryTemp[y]);
}
return aryNum;
line = br.readLine();
什么叫split怎么用?split就是这么用,看看regular expression和java的RegEx api.sun的tutorial web site上有一个关于RegEx API 的 doc的。
aryTemp已经定义过了。