import java.io.*;
import java.util.*;public class TextFile extends ArrayList{
    public static String read(String fileName) throws IOException{
        StringBuffer sb =new StringBuffer();
        BufferedReader in = new BufferedReader(new FileReader(fileName));
        String s;
        while((s = in.readLine())!= null){
            sb.append(s);
            sb.append("\n");
        }
        in.close();
        return sb.toString();
    }    public static void write(String fileName,String text) throws IOException{
        PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(fileName)));
        out.print(text);
        out.close();
    }
    
    public TextFile(String fileName) throws IOException{
        super(Arrays.asList(read(fileName).split("\n")));
    }    public void write(String fileName) throws IOException{
        PrintWriter out =new PrintWriter(new BufferedWriter(new FileWriter(fileName)));
        for(int i = 0;i<size();i++)
            out.println(get(i));
        out.close();    }    public static void main(String[] args)
    {
        String file = read("TextFile.java");
        write("test.txt",file);
TextFile text = new TextFile("test.txt");
text.write("test2.txt");
    }
}
编译后:TextFile.java:37: 未报告的异常 java.io.IOException;必须对其进行捕捉或声明以便抛

        String file = read("TextFile.java");
                          ^
TextFile.java:38: 未报告的异常 java.io.IOException;必须对其进行捕捉或声明以便抛

        write("test.txt",file);
             ^
TextFile.java:39: 未报告的异常 java.io.IOException;必须对其进行捕捉或声明以便抛

        TextFile text = new TextFile("test.txt");
                        ^
TextFile.java:40: 未报告的异常 java.io.IOException;必须对其进行捕捉或声明以便抛

        text.write("test2.txt");
                  ^
注意:TextFile.java 使用了未经检查或不安全的操作。
注意:要了解详细信息,请使用 -Xlint:unchecked 重新编译。
4 错误

解决方案 »

  1.   

    不带路径的文件,在java执行的时候,会指向java.exe所在位置,即,如果你的这个TextFile.java不是和java.exe在同一目录,就会抛文件找不到的异常,建议使用绝对路径来解决这个问题
      

  2.   

    我把他放到java.exe目录下还是报同样的错
    如何修改代码才能使他正常运行呢?
      

  3.   

    你的这几个方法都声明有异常抛出啊.
    调用的时候要用try...catch捕捉啊
      

  4.   

    应该如何改呢?
    这是java编程思想第三版的书上的源码
    我就想实现一下读取文件的操作
    能告我该如何改吗?我是初学者,不太懂
    谢谢
      

  5.   

    在所有方法的后面加上throws Exception应该就没有问题了
      

  6.   

    用个IDE吧,netbeans,eclipse之类的都能帮助找出错误,然后再回头看。
      

  7.   

    main 后加throws IOException