为什么文件相关的东西不起作用? Java

问题描述

我当前正在编写一个程序,该程序涉及在该文件夹中创建文件夹和文件。 第一个版本有效,之后我决定创建一个新项目,使代码清晰易懂。 现在,突然之间创建文件的类不再起作用。我在第二个项目中切换了设备。

package com.company;

import java.io.*;

public class File {
    File folder1 = new File("Data");
    File file1 = new File("Data/MonData.txt"); 

    //For both "Data" and "Data/MonData.txt it says 
    //"Expected 0 arguments but found 1"

    public void DataText() {
        if(folder1.exists()) {         //exists = cant
        }                              //resolve method
        else {
            folder1.mkdirs();          //mkdirs = cant
        }                              //resolve method
        if(file1.exists()) {           //exists = cant
        }                              //resolve method
        else {
            try {
                file1.createNewFile(); //createNewFile = cant 
            }                          //resolve method
            catch(IOException e) {
                e.printstacktrace();
            }
        }
    }
}

解决方法

您应该以其他方式命名课程。为类File命名后,让Java代替java.io.File使用它,因此未找到方法exists(以及其他方法),因为不在您的类中。

,

您的类名和导入类具有相同的名称File,因此编译器检查您的File类,而不是他应该选择的java.io.File类。

如果两个类的名称相同,请仅使用java.io.Fileyour.File代替File

,

您的两个类都具有相同的名称。尝试将类File命名为java.io.File。 应该很好

,

您可以使用完全限定的名称

java.io.File folder1 = new java.io.File("Data");
java.io.File file1 = new java.io.File("Data/MonData.txt");