黑马程序员技术交流社区

标题: 求大神解答为何一直出现 java.lang.NullPointerException [打印本页]

作者: New_PS    时间: 2015-5-15 11:57
标题: 求大神解答为何一直出现 java.lang.NullPointerException
转换流复制TXT文件,代码如下,但是一运行就报
java.lang.NullPointerException
不知道为什么,求解答
import java.io.*;
class FileCopyDemo1
{
        public static void main(String[] args) throws IOException
        {
                //System.out.println("Hello World!");

                FileInputStream fis = new FileInputStream("D:/abc.txt");//创建字节输入流
                InputStreamReader isr = new InputStreamReader(fis);//将字节输入流转化为字符输入流
                BufferedReader br = new BufferedReader(isr);//对字符输出流进行包装

                FileOutputStream fos = new FileOutputStream("D:/123.txt");//创建字节输出流
                OutputStreamWriter osw = new OutputStreamWriter(fos);//将字节输出流转化为字符输出流
                BufferedWriter bw = new BufferedWriter(osw);//将字符输出流进行包装

                String line;
                while ((line=br.readLine())!=null);
                {
                        bw.write(line);
                        bw.newLine();
                }

                br.close();
                bw.close();

        }
}

作者: New_PS    时间: 2015-5-15 15:33
没有人可以解答吗?

作者: 谢永烽    时间: 2015-5-15 17:41
拷贝一个文本文件的话其实狠简单,你可能刚学到 还要用到字节转字符的转换流,这会很麻烦,而且不易观看 你看到流的话 慢慢接着看后一点 做多点练习会 发现前面的 其实很简单易懂。上诉这个情况的话 我给你简化下


BufferedReader bfr = new BufferedReader(new FileReader("abc.txt"));//读取流对象关联文件
BufferedWriter bfw = new BufferedWriter(new FileWriter("abc_copy.txt"));//写入流,将写入至新的文本中         
                         String line = null;
                         while ((line=bfr.readLine())!=null) //循环读取关联的文件数据
                         {
                                 bfw.write(line);//写入数据
                                 bfw.newLine();//换行
                                 bfw.flush();//刷新
                         }

                         bfw.close();//关流
                         bfr.close();
作者: 谢永烽    时间: 2015-5-15 17:51
仔细一看问题 是出在循环的里的,仔细不难发现 你的while循环多了个 ;分号   一定要注意这些 我在学习中也碰到过类似错误,因为分号代表结束,读不到循环体的内容  所以才报空指针异常
作者: 大兵在海边    时间: 2015-5-15 17:56
你的While()后面多了一个分号
作者: 大兵在海边    时间: 2015-5-15 17:57
注意一下细节就好了
作者: 开到荼靡    时间: 2015-5-15 18:09
细节决定成败啊, 有一次我没写main 很久才发现呢。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2