我试图运行文件程序,我收到错误FileNotFoundException

时间:2016-03-04 07:11:18

标签: java java-io

import java.io.*;  
class C{  
   public static void main(String args[])throws Exception{  
      FileInputStream fin=new FileInputStream("C.java");  
      FileOutputStream fout=new FileOutputStream("M.java");  
      int i=0;  
      while((i=fin.read())!=-1){  
        fout.write((byte)i);  
      }  
      fin.close();  
   }  
}  

我尝试创建文件来读取和写入代码的存储位置。在我的情况下,它存储在C盘(我的程序,我创建它只有读写文件)。

我的程序构建成功但没有输出    应用程序名称 - javaprogram 包名称包

在内部包中,我放置了两个文件c.txtm.txt 我甚至想知道我们是如何.java文件的(我尝试使用c.txtm.txt而不是.java

这就是我得到的错误

init:
deps-jar:
Compiling 1 source file to C:\Users\user\Documents\NetBeansProjects\JavaApplication1\build\classes
compile-single:
run-single:
Exception in thread "main" java.io.FileNotFoundException: file (The system cannot find the file specified)
        at java.io.FileInputStream.open(Native Method)
        at java.io.FileInputStream.<init>(FileInputStream.java:106)
        at java.io.FileInputStream.<init>(FileInputStream.java:66)
        at javaapplication1.C.main(C.java:20)

1 个答案:

答案 0 :(得分:0)

使用下面的代码,你缺少一些文件对象

class C {

public static void main(String args[])
{
    try
    {
        File f1 = new File("C.java");
        File f2 = new File("M.java");

        FileInputStream in = new FileInputStream(f1);
        FileOutputStream out = new FileOutputStream(f2);

        byte[] buf = new byte[1024];
        int len = 0;
        while ((len = in.read()) > 0)
        {
            out.write(buf, 0, len);
        }

        in.close();
        out.close();
    } catch (FileNotFoundException e)
    {
        e.printStackTrace();
    } catch (IOException e)
    {
        e.printStackTrace();
    }

} 
}

另一种优雅的做法是 从此Link下载Commons IO并将其添加到项目库中,然后使用下面的代码。

class C {

public static void main(String args[]) throws Exception
{
    try
    {
        File f1 = new File("C.java");
        File f2 = new File("M.java");

        FileUtils.copyFile(f1, f2);

    } catch (FileNotFoundException e)
    {
        e.printStackTrace();
    } catch (IOException e)
    {
        e.printStackTrace();
    }

} }