我正在尝试将文件作为参数发送给方法,但不知道如何发送?

I am trying to send File as a parameter to a method but dont know how?

public static void createFile() {

    File file = new File("C:\Users\egecoskun\Desktop\javafiles\ananınamı.txt");
    try {
        if (file.createNewFile()) {
            System.out.println("Dosya olusturuldu!");

        } else {
            System.out.println("Dosya zaten var!");
        }
    } catch (IOException e) {
        e.printStackTrace();
    }

}

这是我创建文件的 createFile 方法。

public static void readFile(File file) {
    try {
        Scanner reader = new Scanner(file);
        while(reader.hasNextLine()) {
            String line=reader.nextLine();
            System.out.println(line);
        }
    } catch (FileNotFoundException e) {

        e.printStackTrace();
    }

}

并且此方法正在读取文件我是 creating.But 它需要将文件作为参数但是当我尝试 运行 Main

中的此方法时
public static void main(String[] args) {
    createFile();
    readFile(file);

}

我收到的错误是文件无法解析为变量。 有人发现我的错误吗?能解释一下吗

createFilevoid;这意味着它没有 return 任何东西。在这种情况下,你想要return一个File。喜欢,

public static File createFile() {
    File file = new File("C:\Users\egecoskun\Desktop\javafiles\ananınamı.txt");
    try {
        if (file.createNewFile()) {
            System.out.println("Dosya olusturuldu!");
            return file;
        } else {
            System.out.println("Dosya zaten var!");
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
    return null;
}

然后你需要将调用该方法的结果分配给一个变量。在将它传递给 readFile 之前,您应该检查它是否不是 null。喜欢,

File f = createFile();
if (f != null) {
    readFile(f);
}

请注意,该文件实际上不包含任何可读内容。它只是在您创建它之后存在。

Return createFile 函数中的文件对象并将其传递给 readFile 函数

public static File createFile() {
    File dir = new File("C:\Users\egecoskun\Desktop\javafiles");
    if(dir.exists()) {
       dir.mkdirs();
    }
    File file = new File(dir,"ananınamı.txt");
    file.createNewFile();
    return file;
}

在你的主函数中

File file = createFile();
readFile(file);