//读文件的类
  public class ReadWriteFile {
  public static String[] ReadFile(String filestr) throws UnsupportedEncodingException, IOException {
    
         String filePath=filestr;         FileReader myFileR=new FileReader(filePath);
         BufferedReader myBufferedReader=new BufferedReader(myFileR);         String[] linestr=new String[5000];
         int i=0;
         while((linestr[i]=toUTF_8(myBufferedReader.readLine()))!=null){
          
             i++;
         }         myBufferedReader.close();
         return linestr;
     }
     
}     
     
//读配置文件的类     
 public class ReadFileList {
 public static String[][] ReafFileList(String filelist) throws UnsupportedEncodingException, IOException{
 String filePath=filelist;
 String[] linestr=ReadWriteFile.ReadFile(filePath);    
 String [][] ss=new String[5000][2];
 for(int i=0;i<linestr.length;i++){  
 ss[i]=linestr[i].split(" ");
     }
 return ss;
 }
 public static void main(String[] args) throws UnsupportedEncodingException, IOException {
 String filelist="D:/tools/workspace/tabcompare/filelist.txt";
 String[][] ss=ReafFileList(filelist);      
 for(int i=0;i<ss.length;i++){  
 for(int j=0;j<ss[i].length;j++){
 System.out.print(ss[i][j]);
 }
     }
 
 }
}配置文件内容如下:
ods_core_brt.txt空格ods_core_brt2.txt
ods_core_brta.txt空格ods_core_brta2.txt
ods_core_brtb.txt空格ods_core_brtb2.txt
我的目的就是把配置文件中以空格分隔的两列文件名称,读入到数组ss中。
但是我的程序运行后报错如下:
Exception in thread "main" java.lang.NullPointerException
at filecompare.ReadFileList.ReafFileList(ReadFileList.java:12)
at filecompare.ReadFileList.main(ReadFileList.java:18)

解决方案 »

  1.   

    String[] linestr=new String[5000];D:/tools/workspace/tabcompare/filelist.txt中有5000行数据吗?
      

  2.   

    ss[i]=linestr[i].split(" ");
    应该是这句出错的吧?你的数据才几条,你读进linestr时,只有前几个单元赋了值,后面都是null,一个null调用split,当然是NullPointerException了
      

  3.   

    at filecompare.ReadFileList.ReafFileList(ReadFileList.java:12)
    at filecompare.ReadFileList.main(ReadFileList.java:18)都是指哪些行啊
      

  4.   

    空指针错误
    可以用debug跟踪查看