写入测试文件:代码中出错?

时间:2014-02-27 12:37:47

标签: java file java-io

以下代码中是否有错误,它似乎没有创建我想要的文本文件(numbers.txt)?我知道它是在JRE系统库中创建文件,但我无法找到它。

package test;

import java.io.FileNotFoundException;
import java.util.Formatter;

public class FileReaderTest {

    private Formatter output;

    /**
     * default const
     */
    public FileReaderTest() {

    }

    /**
     * Method that enables a user to open a file
     */
    public void openFile() {

        try {
            output = new Formatter("numbers.txt");
        } catch (FileNotFoundException e) {

            System.err.println("Problem found when opening file");
            System.exit(1);// terminate
        } catch (SecurityException Se) {

            System.err.println("You dont have access to open file");
            System.exit(1);// terminate
        }

    }// end of openFile

    /**
     * Method enabling user to write numbers to file
     */
    public void writeToFile() {

        // numbers to be written to file
        Integer[] numbers = { 2, 5, 6, 7, 8, 9 };

        for (Integer i : numbers) {

            output.format("%d/n", i);
        }
    }// end of writeToFile

    /**
     * Method that closes file
     * 
     */
    public void closeFile() {

        if (output != null) {
            output.close();
        }
    }// end of close file

}// class end

我在Main中的fileReaderTest的实现:

public static void main(String[] args) {

//file input/putput testing

        System.out.println("Opening file");

        FileReaderTest file1= new FileReaderTest();

        file1.openFile();//opening the file
        file1.writeToFile();//writing values within the file
        file1.closeFile();//closing the file

        System.out.println("Finished with file");





    }

}

2 个答案:

答案 0 :(得分:0)

我认为你应该使用File.getAbsolutePath() 在UNIX系统上,通过将相对路径名解析为当前用户目录,使其成为绝对路径名。在Microsoft Windows系统上,通过将路径名解析为路径名所指定的驱动器的当前目录(如果有),使相对路径名成为绝对路径名;如果没有,则根据当前用户目录解析。

答案 1 :(得分:0)

您当前的执行目录是:new File(".").getAbsolutePath(),请检查