小弟有段程序 运行时出现 java.lang.NullPointerException 错误,若将17行 ss = s.toCharArray(); 去掉,运行时则没错,但我需要这部分功能,该怎么实现呢
import java.io.*;
import java.lang.*;public class Test {
public static void main(String[] args) {
try {
FileReader input = new FileReader("test1.txt");
BufferedReader br = new BufferedReader(input);
FileWriter output = new FileWriter("temp1.txt");
BufferedWriter bw = new BufferedWriter(output);
String s = br.readLine();
while ( s!=null ) {
                                char ss[] = new char[s.length()]; 
bw.write(s);
bw.newLine();
s = br.readLine();
ss = s.toCharArray();
                                          }

br.close();
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【dlq45】截止到2008-07-07 09:46:53的历史汇总数据(不包括此帖):
    发帖的总数量:2                        发帖的总分数:0                        
    结贴的总数量:0                        结贴的总分数:0                        
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:2                        未结的总分数:0                        
    结贴的百分比:0.00  %               结分的百分比:---------------------
    无满意结贴率:---------------------无满意结分率:---------------------
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
      

  2.   

    看注释
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;public class Test
    {
        public static void main(String[] args)
        {
            try
            {
                FileReader input = new FileReader("test1.txt");
                BufferedReader br = new BufferedReader(input);
                FileWriter output = new FileWriter("temp1.txt");
                BufferedWriter bw = new BufferedWriter(output);
                String s = br.readLine();
                
                while(s != null)
                {
                    //你这个ss根本主就没有用到,你要它干嘛??
                    char ss[] = new char[s.length()];
                    bw.write(s);
                    bw.newLine();
                    s = br.readLine();
                    
                    //加一行判断不就行了
                    if(s != null)
                    {
                        ss = s.toCharArray();
                    }
                }            br.close();
                bw.close();
            }
            catch(IOException e)
            {
                e.printStackTrace();
            }
        }
    }
      

  3.   

    谢谢craky ,ss后面会用到,还要加一个判断ss的语句,如果ss是数字则bw.write(s);
      

  4.   

    s = br.readLine(); 
    ss = s.toCharArray(); 
    这两句顺序对调了一下
    ss = s.toCharArray(); 
    s = br.readLine();