Java 需要加载哪些参数&;执行类?

Java 需要加载哪些参数&;执行类?,java,Java,我有以下Java类文件,其中我试图获取一个类文件(Loadanotherfile.Java)来加载另一个类文件。加载的类文件(FileData.java)依次加载一个文本文件 注意:单独运行FileData文件很好,所以我认为这不是问题所在 见下文: FileData.java: package test; import java.io.IOException; public class FileData { public static void main (String[] ar

我有以下Java类文件,其中我试图获取一个类文件(Loadanotherfile.Java)来加载另一个类文件。加载的类文件(FileData.java)依次加载一个文本文件

注意:单独运行FileData文件很好,所以我认为这不是问题所在

见下文:

FileData.java:

package test;

import java.io.IOException;


public class FileData {

   public static void main (String[] args) throws IOException {

       String file_name = "C:/Java/test.txt";

       try {
          ReadFile file = new ReadFile(file_name);
          String[] anyLines = file.OpenFile();

          int i;
          for (i=0; i < anyLines.length; i++) {
              System.out.println(anyLines[i]);

          }

       } 
       catch (IOException e) {
          System.out.println( e.getMessage() );

       }

   }

}
因此,
Loadanotherfile.java
调用
FileData
类中的main方法。起初,我只是将
FileData.main()
放在
Loadanotherfile
类中,但结果错误消息说我需要字符串参数,所以我放入了常见的“string[]args”,如图所示

但随后我得到了“.class预期”或“required:value,found:class”错误。 然后我试图通过

String[] anyLines 
作为论据,但这也不起作用

那么需要传入哪些参数才能从Loadanotherfile中执行FileData呢


我是Java新手,一周前开始学习:0,所以提前谢谢你,你不需要任何参数,因为你没有使用它。您可以尝试:

package test;

public class Loadanotherfile throws Exception{
    public static void main(String[] args) {
        FileData.main(args);
    }
}

试试这个:

FileData.main(new String[]{});

问题在于,您使用声明方法的语法来调用此行中的方法

 FileData.main(String[] args) throws IOException;
只需将
Loadanotherfile
的main方法的参数传递给
FileData
main方法的main方法

 // just pass the arguments of the Loadanotherfile main method.
 FileData.main(args);

它会起作用的

您也可以将
null
传递给FileData main方法,但不建议这样做,因为如果使用参数,还必须检查
null

 // possible but not recommended
 FileData.main(null);
但我想建议另一种方法。用“正确”的方法做。 为您的文件数据使用一个有用的名称-实际上它类似于
FileDataService
。要读取这些行,请使用
java.nio.Files
包中的
Files
,并使用表示其功能的方法名
loadFile
。为了得到一个main方法,我在这里添加了main方法

import java.io.File;
import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.util.List;

public class FileDataService {

    public static void main(String...args) {
        new FileDataService().loadData();
    }

    public void loadData() {

        try {

            File file = new File("C:/Java/test.txt");
            List<String> anyLines = Files.readAllLines(file.toPath(), Charset.defaultCharset());

            for (String line : anyLines) {
                System.out.println(line);

            }

        } catch (IOException e) {
            System.out.println(e.getMessage());

        }

    }
}

更改为
FileData.main(args)所有代码都运行良好。谢谢你的详细解释。
 // pass a new empty string array 
 FileData.main(new String[]{});
 // possible but not recommended
 FileData.main(null);
import java.io.File;
import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.util.List;

public class FileDataService {

    public static void main(String...args) {
        new FileDataService().loadData();
    }

    public void loadData() {

        try {

            File file = new File("C:/Java/test.txt");
            List<String> anyLines = Files.readAllLines(file.toPath(), Charset.defaultCharset());

            for (String line : anyLines) {
                System.out.println(line);

            }

        } catch (IOException e) {
            System.out.println(e.getMessage());

        }

    }
}
public class LoadAnotherClass {

    public static void main(String[] args) {
        new FileDataService().loadData();
        // or even
        FileDataService.main(new String[]{});
    }

}