public class txtTOarray {
public static void main(String[] args){
try {
File file = new File("D:\\array1.txt");
BufferedReader in;
FileReader fr=new FileReader(file);
         in = new BufferedReader(fr);
         int n=200;
int[][] arr=new int[n][];
String line="";  //一行数据
int row=0;
    try {
while((line = in.readLine())!= null){
   String[] temp = line.split("\t");  
   for(int j=0;j<temp.length;j++){
    arr[row][j] = Integer.parseInt(temp[j]);//有问题????
   }
   row++;
  }
in.close();
 for(int i=0;i<n;i++){
   for(int j=0;j<arr[i].length;j++){
    System.out.print(arr[i][j]+"\t");
   }
   System.out.println();
  }
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}   
}
}

解决方案 »

  1.   

    先定义数组的长度.在String[] temp = line.split("\t"); 这句后加上看看。arr[row]=new int[temp.length];
      

  2.   

    你看这样能不能实现你的需求.import java.io.*;
    public class txtTOarray {
    public static void main(String[] args){
    try {
    File file = new File("D:\\array1.txt");
    BufferedReader in;
    FileReader fr=new FileReader(file);
    in = new BufferedReader(fr);
    int n=200;
    String[][] arr=new String[n][];//用int的话如果长度过长,必定会报错。
    String line=""; //一行数据
    int row=0;
    try {
    while((line = in.readLine())!= null){
    String[] temp = line.split("\t");  
    for(int i=0;i<arr.length;i++)
    {
    arr[i]=new String[i+1];//这里必须要,空间问题
    for(int j=0;j<arr[i].length;j++){
       arr[i][j] =temp[row];//有问题????
    }
    }
    row++;
    }
    in.close();
    for(int i=0;i<n;i++){
    for(int j=0;j<arr[i].length;j++){
    System.out.print(arr[i][j]+"\t");
    }
    System.out.println();
    }
    } catch (IOException e) {
    e.printStackTrace();
    }
    } catch (FileNotFoundException e) {
    e.printStackTrace();

    }
    }