import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class continent {

public static void dazhou(String a,String[] b)
{
try
  {
 
FileReader fr=new FileReader(a);
BufferedReader br=new BufferedReader(fr);
StringBuffer sb=new StringBuffer();


try
{
while(br.ready())
{

sb=sb.append("\t"+br.readLine());

}

String s1=sb.toString();
b=s1.split("\t");


}  
finally
   {
//System.out.println("OK");
    }
 

  }//try
 catch(IOException e)
 {
 System.out.println("error");
     }
}


public static void main(String args[])
  {
File file=new File("c:\\cdn\\test2\\globalmsk1\\");   
File[] tempFile=file.listFiles();//读取120文件

String[] af=null; 
String[] an=null;


dazhou("C:\\cdn\\test2\\dazhou\\Africa.txt",af);
dazhou("C:\\cdn\\test2\\dazhou\\Antarctica.txt",an); System.out.println(af[1]);

  }
}
错误提示:Exception in thread "main" java.lang.NullPointerException是和String[] af=null; 
   String[] an=null; 有关的吧这个问题怎么解决呢?

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【cnhuai】截止到2008-07-20 21:23:57的历史汇总数据(不包括此帖):
    发帖的总数量:56                       发帖的总分数:938                      每贴平均分数:16                       
    回帖的总数量:42                       得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:53                       结贴的总分数:878                      
    无满意结贴数:11                       无满意结贴分:220                      
    未结的帖子数:3                        未结的总分数:60                       
    结贴的百分比:94.64 %               结分的百分比:93.60 %                  
    无满意结贴率:20.75 %               无满意结分率:25.06 %                  
    值得尊敬
      

  2.   

    我大概改了,你看看import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileReader;
    import java.io.IOException;public class TestClass { public static String[] dazhou(String a) {
    try { FileReader fr = new FileReader(a);
    BufferedReader br = new BufferedReader(fr);
    StringBuffer sb = new StringBuffer(); try {
    while (br.ready()) { sb = sb.append("\t" + br.readLine()); } String s1 = sb.toString();
    return s1.split("\t");
    } finally {
    // System.out.println("OK");
    } }// try
    catch (IOException e) {
    System.out.println("error");
    }

    return null;
    } public static void main(String args[]) {
    File file = new File("c:\\cdn\\test2\\globalmsk1\\");
    File[] tempFile = file.listFiles();// 读取120文件 String[] af = dazhou("C:\\cdn\\test2\\dazhou\\Africa.txt"); System.out.println(af[1]); }
    }
      

  3.   

    String[] af=null; 
    String[] an=null; 
    这两个数组你没有初始化,虚拟机不会给它分配空间的,传到方法时会认为他为空,
    所以你应该用楼上那样的方法,先给它一个空间,
    或者直接给个设定的空间:
    String[] af=new String[n];
    n是你数组的长度,但一般不这样用,因为下文要用到的数组的大小是不定的,为了安全,只能用尽可能的大来满足下文的要求!
    因此最好的解决方法是:
    先得到该数组应该的大小,再初始化它!