Java 使用FileOutputStream复制文件,复制时找不到符号
我尝试使用FileInputStream和FileOutputStream复制文件内容,代码如下:Java 使用FileOutputStream复制文件,复制时找不到符号,java,input,output,Java,Input,Output,我尝试使用FileInputStream和FileOutputStream复制文件内容,代码如下: public class Example1App { public static void main(String[] args) { Example1 program= new Example1(); program.start(); } } 及 编译时,错误消息为: 找不到符号 program.start(); ^ 符号:方法开始() 位置:Example1类型的
public class Example1App {
public static void main(String[] args) {
Example1 program= new Example1();
program.start();
}
}
及
编译时,错误消息为:
找不到符号
program.start();
^
符号:方法开始()
位置:Example1类型的变量程序
谁能帮我解释一下为什么会发生这种事?
非常感谢您提前提供的帮助。之所以发生这种情况,是因为在名为
start
的Example1
类中没有方法
您可能想做的是:
Example1
类中创建start()
方法start()
,而是将方法命名为copy
,并为其指定参数:copy(字符串arg0,字符串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();
}
}
以及:
(实际上,您可以将这些方法组合到一个程序中—只需将
main
方法从Example1App移动到Example1App,然后删除Example1App)您正在调用一个不存在的方法,如消息所述。只需完全去掉第一个类,直接执行第二个类,使用“java Example1”。谢谢David!您能解释一下如何在Example1类中创建start方法吗?关于第二个选项,我编写了公共类Example1(String arg[0],args[1]){public static void main(String[]args)抛出异常{…但是编译时,错误是:错误:{预期的公共类Example1(String arg[0],args[1]))请参阅编辑后的答案。底线是,您已经得到了它。非常感谢David!这现在更有意义了。我将尝试新代码。现在它说:错误:未报告的异常异常;必须捕获或声明为抛出程序。复制(args[0],args[1]);我尝试将它们放入try and catch(异常e)块,它也不起作用。。
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();
}
}
}