将文件作为参数

时间:2014-07-26 19:39:09

标签: java

public fillVal(File s) throws FileNotFoundException{

    Scanner kb = new Scanner(s);

    while(kb.hasNextDouble()){
        //etc...

    }

所以说我的文件名是“file1.txt”。当我输入那个文本(“file1.txt”)int BlueJ的“创建对象选项卡”时,我会得到一些说不兼容类型的东西。我在课程文件中有txt文件。这不是一种有效的方式来接收文件并从中获取值吗?如果这是错误的,请告诉我。感谢

3 个答案:

答案 0 :(得分:0)

看起来需要一个文件对象?

new java.io.File("file1.txt")

答案 1 :(得分:0)

当您将对象作为参数时,您需要传入该对象的实例。

由于您要做的只是传入文件名,因此您的签名不正确;将其更改为接受String

public void fillVal(String fileName) {
    try {
        Scanner kb = new Scanner(new File(fileName));
        while(kb.hasNextDouble()) {
           // code
        }
    } catch(FileNotFoundException e) {
        System.out.println("Invalid filename!");
        e.printStackTrace();
    }
}

哦,不要忘记返回类型。由于它看起来就像你正在对结果做任何事情一样,你可以声明它返回void

答案 2 :(得分:0)

考虑以下方法:

public void fillVal(File s) throws FileNotFoundException {

    Scanner kb = new Scanner(s);

    while (kb.hasNextDouble()){
        System.out.println("The next double is: " + kb.nextDouble());
    }
}

您可以通过创建包含fillVal(File)方法的类的实例,并通过以下方式调用它来从某个main方法调用它:

public static void main(String[] args)
{
    . . .

    try {
        [name of instance].fillVal(new File("README.txt"));
    } catch (FileNotFoundException e) {
        System.out.println(e.getMessage());
    }
}

这假定文件README.txt位于BlueJ项目的根目录中。这也是放置类文件的地方。

文件     public File(String pathname)

通过将给定的路径名​​字符串转换为抽象路径名来创建新的File实例。如果给定的字符串是空字符串,则结果是空的抽象路径名。

参数: pathname - 路径名字符串

抛出: NullPointerException - 如果pathname参数为null