我尝试使用FileInputStream和FileOutputStream复制文件的内容,使用以下代码:
public class Example1App {
public static void main(String[] args) {
Example1 program= new Example1();
program.start();
}
}
和
import java.io.*;
public class Example1 {
public static void main(String[] args) throws Exception {
FileInputStream fin = new FileInputStream(args[0]);
FileOutputStream fout = new FileOutputStream(args[1]);
int c;
while ((c = fin.read()) != -1)
fout.write(c);
fin.close();
fout.close();
}
}
编译时,错误信息是: 找不到标志 program.start(); ^ 符号:方法start() location:Example1类型的变量程序 任何人都可以帮我解释为什么会这样吗? 非常感谢您的帮助。
答案 0 :(得分:0)
这种情况正在发生,因为您的Example1
类中没有名为start
的方法。
您可能想要做的是:
start()
类Example1
方法
start()
,而是为方法copy
命名并为其指定参数:copy(String arg0, String arg1)
所以,你会得到:
import java.io.*;
public class Example1 {
public void copy(String inName, String outName) throws Exception {
FileInputStream fin = new FileInputStream(inName);
FileOutputStream fout = new FileOutputStream(outName);
int c;
while ((c = fin.read()) != -1)
fout.write(c);
fin.close();
fout.close();
}
}
和
public class Example1App {
public static void main(String[] args) {
Example1 program = new Example1();
try {
program.copy(args[0], args[1]);
} catch (Exception e) {
// Generally, you want to handle exceptions rather
// than print them, and you should handle some
// exceptions in copy() so you can close any open files.
e.printStackTrace();
}
}
}
(实际上,你可以将它们合并到一个程序中 - 只需将main
方法从Example1App移到Example1,然后删除Example1App)
答案 1 :(得分:0)
你正在调用一种不存在的方法,就像消息所说的那样。只需完全删除第一个类并使用'java Example1'直接执行第二个类。