日期:2014-05-20  浏览次数:20752 次

javase文件处理问题
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)
求解
file java

------解决方案--------------------
infile.txt位置放错了,导致程序找不到。
如果是在命令行下执行java CopyBytes,则需要将infile.txt和CopyBytes.class放在同一目录中。
如果是在eclipse中运行,则需要将infile.txt与.classpath文件放在同一目录中。
------解决方案--------------------
文件定义的时候加上你的文件绝对路径名就好了,如C:/infile.txt
------解决方案--------------------
文件位子写的不对,楼上的正解
------解决方案--------------------
你要不知道文件该放在哪里,就使用下面的代码打印出来看看。
System.out.println(new File(".").getAbsolutePath());
------解决方案--------------------
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();
}
}
}