package chapterseven;import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;//从一个文件中将内容复制到另一个文件中public class CopyBytes
{
public static void main(String[] args)
{
try
{
FileInputStream in = new FileInputStream(new File("infile.txt"));
FileOutputStream out = new FileOutputStream(new File("outfile.txt"));
int c ;
while((c = in.read()) != -1)
{
out.write(c);
}
in.close();
out.close();
}

catch (FileNotFoundException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}

}
}
执行结果出现提示java.io.FileNotFoundException: infile.txt (系统找不到指定的文件。)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at chapterseven.CopyBytes.main(CopyBytes.java:17)
是怎么回事?(我有新建infile.txt和outfile.txt)
求解filejava

解决方案 »

  1.   

    infile.txt位置放错了,导致程序找不到。
    如果是在命令行下执行java CopyBytes,则需要将infile.txt和CopyBytes.class放在同一目录中。
    如果是在eclipse中运行,则需要将infile.txt与.classpath文件放在同一目录中。
      

  2.   

    文件定义的时候加上你的文件绝对路径名就好了,如C:/infile.txt
      

  3.   

    你要不知道文件该放在哪里,就使用下面的代码打印出来看看。
    System.out.println(new File(".").getAbsolutePath());
      

  4.   

    import java.io.*;
    public class CopyBytes {
    public static void main(String[] args) {
    try {
    FileInputStream in = new FileInputStream("e:\\infile.txt");
    FileOutputStream out = new FileOutputStream(new File("e:\\outfile.txt"));
    int c;
    while ((c = in.read()) != -1) {
    out.write(c);
    }
    in.close();
    out.close();
    } catch (FileNotFoundException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    }