Java 需要加载哪些参数&;执行类?
我有以下Java类文件,其中我试图获取一个类文件(Loadanotherfile.Java)来加载另一个类文件。加载的类文件(FileData.java)依次加载一个文本文件 注意:单独运行FileData文件很好,所以我认为这不是问题所在 见下文: FileData.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
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[]{});
}
}