发生FileNotFoundException错误并且未读取文件内容

时间:2012-01-03 15:33:27

标签: java filenotfoundexception

  

可能重复:
  FileNotFoundException error while running java program

我正在使用Windows xp。

程序定义:创建具有4个TextFiled和4个TextArea的程序。如果在TextField中键入文件的名称并按提交,则其内容应显示在相应的TextArea中。

我跑步时出错:

java.io.FileNotFoundException:
        at java.io.FileInputStream.open(Native Method)
        at java.io.FileInputStream.<init>(Unknown Source)
        at java.io.FileInputStream.<init>(Unknown Source)
        at java.io.FileReader.<init>(Unknown Source)
        at filecontent.showfile(filecontent.java:64)
        at filecontent.<init>(filecontent.java:16)
        at filecontent.main(filecontent.java:108)

我在文本字段中输入文件名时出错,路径为&#34; F:/ Java / Programs / core java / IO / a.txt &#34; (a.txt和我的java文件(filecontent.java)在同一目录中)

java.io.FileNotFoundException: a.txt (The system cannot find the file specified)
        at java.io.FileInputStream.open(Native Method)
        at java.io.FileInputStream.<init>(Unknown Source)
        at java.io.FileInputStream.<init>(Unknown Source)
        at java.io.FileReader.<init>(Unknown Source)
        at filecontent.showfile(filecontent.java:64)
        at filecontent.actionPerformed(filecontent.java:93)
        at java.awt.Button.processActionEvent(Unknown Source)
        at java.awt.Button.processEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$000(Unknown Source)
        at java.awt.EventQueue$1.run(Unknown Source)
        at java.awt.EventQueue$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
        at java.awt.EventQueue$2.run(Unknown Source)
        at java.awt.EventQueue$2.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)

我的代码:

import java.awt.*;
import java.awt.event.*;
import java.io.*;

class filecontent extends Frame implements ActionListener
{
    TextField t[]=new TextField[4];
    TextArea ta[]=new TextArea[4];
    Button submit,exit=new Button("Exit");
    Panel p1;
    filecontent()
    {
        setGUI();
        setRegister();
        try{
            showfile();
           }
        catch(IOException ioe)
        {
            ioe.printStackTrace();
        }   
        setTitle("FileData");
        setVisible(true);
        setSize(500,300);
        setLocation(500,200);
        addWindowListener(new WindowAdapter()
            { public void windowClosing(WindowEvent we)
               { System.exit(0); }
            }); 
    }

    public void setGUI()
    {
        p1=new Panel();
        p1.setLayout(new GridLayout(5,4,10,10));
        for(int i=0;i<4;i++)
        {
            t[i]=new TextField(10);
            ta[i]=new TextArea("");
            p1.add(t[i]);
            p1.add(ta[i]);
        }
        submit=new Button("Submit");
        p1.add(submit);
        p1.add(exit);
        add(p1);
    }

    public void setRegister()
    {
        submit.addActionListener(this);
        exit.addActionListener(this);
    }

    void showfile() throws java.io.IOException
    {
        FileReader fin[]=new FileReader[4];
        FileReader fn=new FileReader("filecontent.java");
        BufferedReader br[]=new BufferedReader[4];

        for(int i=0;i<4;i++)
        {

            fin[i]=new FileReader(t[i].getText()); 

        }
        int cnt=1;
        String s;
        fn=fin[0];
        br[0]=new BufferedReader(fn);
        while(cnt<=4)
        {
            if((s=br[cnt-1].readLine())!=null) 
            {
                ta[cnt-1].append(s+"");
            }
            else
            {
                fin[cnt-1].close();
                cnt++;
                fn=fin[cnt-1];
                br[cnt-1]=new BufferedReader(fn);
                ta[cnt-1].setText("");
            }
        }
    }       

    public void actionPerformed(ActionEvent ae)
    {
        if(ae.getSource()==submit)
        {
            try{
                showfile();
               }
            catch(IOException ioe)
            {
                ioe.printStackTrace();
            }   
        }
        else if(ae.getSource()==exit)
             {
            System.exit(0);
             }
    }

    public static void main(String ar[])
    {
        new filecontent();
    }
}

0 个答案:

没有答案