请教高人,看看下面这个很菜的问题该怎么处理
代码如下(在C盘中已经建立了一个名称为a的文本文件,里面有一些英文字符;一个名称为b的文本文件,里面内容为空。)
import java.io.*;
class CopyBytes
{
public static void main(String[] args) throws FileNotFoundException, IOException
{
//创建2个File类对象
File inputFile=new File("c:\\a.txt");
File outputFile=new File("c:\\b.txt");
//创建文件输入/输出资字节流
FileInputStream in=new FileInputStream(inputFile);
FileOutputStream out=new FileOutputStream(outputFile);
int c;
//读写文件流中的数据
while((c=in.read())!=-1)
out.write(c);
//关闭流
in.close();
out.close();
}
}
下面是运行时的错误:(在NetBeans环境中)
Exception in thread "main" java.io.FileNotFoundException: c:\a.txt (系统找不到指定的文件。)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream. <init>(FileInputStream.java:106)
at javaioexam01.CopyBytes.main(Main.java:25)
Java Result: 1
怎么回事?
代码如下(在C盘中已经建立了一个名称为a的文本文件,里面有一些英文字符;一个名称为b的文本文件,里面内容为空。)
import java.io.*;
class CopyBytes
{
public static void main(String[] args) throws FileNotFoundException, IOException
{
//创建2个File类对象
File inputFile=new File("c:\\a.txt");
File outputFile=new File("c:\\b.txt");
//创建文件输入/输出资字节流
FileInputStream in=new FileInputStream(inputFile);
FileOutputStream out=new FileOutputStream(outputFile);
int c;
//读写文件流中的数据
while((c=in.read())!=-1)
out.write(c);
//关闭流
in.close();
out.close();
}
}
下面是运行时的错误:(在NetBeans环境中)
Exception in thread "main" java.io.FileNotFoundException: c:\a.txt (系统找不到指定的文件。)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream. <init>(FileInputStream.java:106)
at javaioexam01.CopyBytes.main(Main.java:25)
Java Result: 1
怎么回事?
如果是a,改为a.txt
FileOutputStream out=new FileOutputStream(outputFile);
这个是写向的文件!outputFile 是c:\\b.txt ;这个的意思是向b.txt中写如字母之类的东西;
而in.read()读取的a.txt 但是你的a.txt里面并没有东西,也没有建立!
由于你没有在文件夹选项里设置
你的就a.txt其实就是a.txt.txt
我刚才试了,你的问题就出在这!
就是他C盘下面没有b.txt
程序也会自动建立b.txt.