IoException并写入文件

时间:2013-12-19 19:59:58

标签: java

我不确定我的错误在哪里。

public class TestFinalClass {

public static void main(String[] args) throws IoException {
    java.io.File file = new java.io.File("Rockstar.txt");
    if (file.exists()) {
        System.out.println("file already exists");
        System.exit(1);
    }
    java.io.PrintWriter output = new java.io.PrintWriter(file);

    output.print("Bob");
    output.println("100");
    output.print("Bibelo");
    output.println("33");

    output.close();

}

}

只是将一些数据写入文件中,当我这样做时,我从eclipse中收到错误消息:

 Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
        Unhandled exception type FileNotFoundException

        at TestFinalClass.main(TestFinalClass.java:9)

4 个答案:

答案 0 :(得分:2)

java.io.IoException不是用于捕获java.io.FileNotFoundException的有效异常类。

编译时会发生以下错误:

---------- Java Compile ----------
test.java:10: error: cannot find symbol
    public static void main(String[] args) throws IoException {
                                                  ^
  symbol:   class IoException
  location: class test
1 error

Output completed (2 sec consumed) - Normal Termination

但是,如果您将IoException更改为IOException,则代码将会编译。

另外,请务必正确导入所需的类:

import java.io.IOException;

答案 1 :(得分:0)

查看exceptions in java的解释。

该行:

java.io.PrintWriter output = new java.io.PrintWriter(file);

可能会抛出FileNotFoundException,并且您没有任何处理它的代码(通过捕获异常,或者让main方法声明它抛出FileNotFoundException)。

这为我编译:

import java.io.FileNotFoundException;

public class TestFinalClass {

    public static void main(String[] args) throws FileNotFoundException {
        java.io.File file = new java.io.File("Rockstar.txt");
        if (file.exists()) {
            System.out.println("file already exists");
            System.exit(1);
        }
        java.io.PrintWriter output = new java.io.PrintWriter(file);

        output.print("Marc Pelletier");
        output.println("100");
        output.print("Beshario Santos");
        output.println("33");

        output.close();

    }
}

答案 2 :(得分:0)

打开新文件时,您可能需要使用try / catch块来处理FileNotFoundException:

try {
    java.io.File file = new java.io.File("Rockstar.txt");
}
catch (FileNotFoundException e) {
    System.out.println(e.printStackTrace());
}

答案 3 :(得分:0)

程序运行完美: 只需提供正确的文件URL并使其成为IOException

public static void main(String[] args) throws IOException {
        java.io.File file = new java.io.File("C://Eclipse Workspace//Common_Example//NewText1.txt");
        if (file.exists()) {
            System.out.println("file already exists");
            System.exit(1);
        }
        java.io.PrintWriter output = new java.io.PrintWriter(file);

        output.print("Marc Pelletier");
        output.println("100");
        output.print("Beshario Santos");
        output.println("33");

        output.close();

    }

输出:

       Marc Pelletier100
       Beshario Santos33