gpt4 book ai didi

java - 使用FileOutputStream复制文件,编译时找不到符号

转载 作者:太空宇宙 更新时间:2023-11-04 14:59:44 24 4
gpt4 key购买 nike

我尝试使用 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();
}
}

编译时,错误信息为:找不到标志 程序.start(); ^ 符号:方法start() 位置:Example1 类型的变量程序谁能帮我解释为什么会发生这种情况?非常感谢您提前提供的帮助。

最佳答案

发生这种情况是因为您的 Example1 类中没有名为 start 的方法。

您可能想要做的是:

  1. Example1 类中创建一个 start() 方法
  2. 更好的是,将方法命名为 copy 并为其提供参数,而不是 start():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)

关于java - 使用FileOutputStream复制文件,编译时找不到符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22725317/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com