当前位置:  技术问答>java相关

一个文件没发现的异常处理(FileNotFoundException),请大家指教啊!!!

    来源: 互联网  发布时间:2015-11-09

    本文导语:  BufferedReader br=new BufferedReader(new FileReader("D:\odbcconf.log"));这条语句造成的错误。 为什么这条语句放在  public void actionPerformed(ActionEvent e)方法中就会报错,报错如下: "MainFrame.java": Error #: 360 : unreported exception: j...

BufferedReader br=new BufferedReader(new FileReader("D:\odbcconf.log"));这条语句造成的错误。
为什么这条语句放在  public void actionPerformed(ActionEvent e)方法中就会报错,报错如下:
"MainFrame.java": Error #: 360 : unreported exception: java.io.FileNotFoundException; must be caught or declared to be thrown at line 128, column 27
而放在private void jbInit() throws Exception 这个方法中却能正常运行。



import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import javax.swing.text.*;
/**
 * 

Title: 


 * 

Description: 


 * 

Copyright: Copyright (c) 2002


 * 

Company: 


 * @author zhq
 * @version 1.0
 */

public class MainFrame extends JFrame implements ActionListener{
  JPanel contentPane;
  JMenuBar jMenuBar1 = new JMenuBar();
  JMenu jMenuFile = new JMenu();
  JMenuItem jMenuFileOpen=new JMenuItem();
  JMenuItem jMenuFileSave=new JMenuItem();
  JMenuItem jMenuFileExit = new JMenuItem();
  JMenu jMenuHelp = new JMenu();
  JMenuItem jMenuHelpAbout = new JMenuItem();
  JToolBar jToolBar = new JToolBar();
  JButton jButtonOpen= new JButton();
  JButton jButtonSave = new JButton();
  JButton jButtonHelp= new JButton();
  ImageIcon image1;
  ImageIcon image2;
  ImageIcon image3;
  JLabel statusBar = new JLabel();
  BorderLayout borderLayout1 = new BorderLayout();
  JTextArea jTextArea1 = new JTextArea();

  //Construct the frame
  public MainFrame() {
    enableEvents(AWTEvent.WINDOW_EVENT_MASK);
    try {
      jbInit();
    }
    catch(Exception e) {
      e.printStackTrace();
    }
  }
  //Component initialization
  private void jbInit() throws Exception  {
    image1 = new ImageIcon(zhq.MainFrame.class.getResource("openFile.gif"));
    image2 = new ImageIcon(zhq.MainFrame.class.getResource("closeFile.gif"));
    image3 = new ImageIcon(zhq.MainFrame.class.getResource("help.gif"));
    contentPane = (JPanel) this.getContentPane();
    contentPane.setLayout(borderLayout1);
    this.setSize(new Dimension(400, 300));
    this.setTitle("Main Frame");
    statusBar.setText(" ");
    jMenuFile.setText("File");
    jMenuFileOpen.setText("Open");
    jMenuFileOpen.addActionListener(this);
    jMenuFileSave.setText("Save");
    jMenuFileSave.addActionListener(this);
    jMenuFileExit.setText("Exit");
    jMenuFileExit.addActionListener(this);
    jMenuHelp.setText("Help");
    jMenuHelpAbout.setText("About");
    jMenuHelpAbout.addActionListener(this);
    jButtonOpen.setIcon(image1);
    jButtonOpen.setToolTipText("Open File");
    jButtonOpen.addActionListener(this);
    jButtonSave.setIcon(image2);
    jButtonSave.setToolTipText("Close File");
    jButtonSave.addActionListener(this);
    jButtonHelp.setIcon(image3);
    jButtonHelp.setToolTipText("Help");
    jTextArea1.setText("jTextArea1");
    jToolBar.add(jButtonOpen);
    jToolBar.add(jButtonSave);
    jToolBar.add(jButtonHelp);
    jMenuFile.add(jMenuFileOpen);
    jMenuFile.add(jMenuFileSave);
    jMenuFile.add(jMenuFileExit);
    jMenuHelp.add(jMenuHelpAbout);
    jMenuBar1.add(jMenuFile);
    jMenuBar1.add(jMenuHelp);
    this.setJMenuBar(jMenuBar1);
    contentPane.add(jToolBar, BorderLayout.NORTH);
    contentPane.add(statusBar, BorderLayout.SOUTH);
    contentPane.add(jTextArea1, BorderLayout.CENTER);

    BufferedReader br=new BufferedReader(new FileReader  ("D:\odbcconf.log"));《不出错》

  }

  //Overridden so we can exit when window is closed
  protected void processWindowEvent(WindowEvent e) {
    super.processWindowEvent(e);
    if (e.getID() == WindowEvent.WINDOW_CLOSING) {
      dispose();
    }
  }
  public void actionPerformed(ActionEvent e) {
    if (e.getSource() == jMenuFileExit) {
      dispose();
    }
    else if(e.getSource()==jMenuHelpAbout){
      MainFrame_AboutBox dlg=new MainFrame_AboutBox(this);
      Dimension dlgSize=dlg.getPreferredSize();
      Dimension frmSize=getSize();
      Point loc=getLocation();
      dlg.setLocation((frmSize.width-dlgSize.width)/2+loc.x,(frmSize.height-dlgSize.height)/2+loc.y);
      dlg.setModal(true);
      dlg.show();
    }
    else if((e.getSource()==jButtonOpen)||(e.getSource()==jMenuFileOpen)) {
      FileDialog openFileDialog=new FileDialog(this,"Open",0);
      //openFileDialog.setFilenameFilter(filter);
      openFileDialog.setDirectory(".");
      openFileDialog.show();
      String file=openFileDialog.getFile();
      if (file==null)
        return;
      jTextArea1.append(file.toString());
      String directory=openFileDialog.getDirectory();
      File f=new File(directory,file);
      if (f.exists()){
        
BufferedReader br=new BufferedReader(new FileReader("D:\odbcconf.log"));《出错》

        String strf=f.toString();
        jTextArea1.append(strf);
        FileReader fs=new FileReader(f);

      }
    }
    else if((e.getSource()==jButtonSave)||(e.getSource()==jMenuFileSave)){
      FileDialog openFileDialog=new FileDialog(this,"SaveAs",1);
      openFileDialog.show();
    }
  }

}

|
兄弟,你的private void jbInit() throws Exception抛出了异常,而你的方法public void actionPerformed(ActionEvent e)并没有抛出异常,所以编译器要求你捕获异常啊。

|
同意楼上,
java觉得你的文件可能没有或打开会出错,
所以安全第一,让你加上try-catch以便出错的时候处理
你可以在
BufferedReader br=new BufferedReader(new FileReader("D:\odbcconf.log"));
这句话上套一个try-catch就行了!


    
 
 

您可能感兴趣的文章:

  • 为什么无法删除文件夹和其中的文件,请指教!
  • 怎么创建这样一个文件???有分送,请指教
  • 请指教用TOMCAT服务器,使用JAVABEAN,.class文件应该放在哪里?
  • 在linuxunix下运行*.c文件,用的是哪一个命令?请指教,在线等!
  • linux 下,doxygen生成的html文件中文注释为乱码,请高手指教!
  • 关于文件操作的问题,无法检测文件的属性,,多谢指教!!
  • 请shell编程高手指教:如何查找文件中的ip地址
  • Java中如何创建一个新文件(请高手指教)
  • awk输出两个文件相同部分,请指教.谢谢
  • read函数读取文件时如何一行一行的读取,请指教!
  • linux启动加载时有几个挂载文件系统失败,请高手指教!
  • 高手指教:为何对文件的一块区域设置了读锁,仍可以设置写锁
  • 怎样配置ibm websphere application server 使它能支持*.shtml 文件??请各位大虾予以指教!!!
  • 在使用TC编译由 lex 生成的.c文件时遇到的一些问题,请高手指教!!!
  • java调用C/C++编写的DLL文件问题,请有经验的高手指教?
  • 请问一个简单问题我有一个tar文件需要gunzip压缩,我用gzip -c 先压缩,然后再用gunzip -c可就是不行。请高人指教
  • 谈谈“文件上传“的思路?大哥请指教
  • 文件权限问题,求指教
  • 文件系统的问题,请高手指教!
  • 浙ICP备11055608号-3 iis7站长之家
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 我在vsftpd的配置文件vsftp.conf没有发现匿名所在的目录/var/ftp/pub这个固定的位置啊
  • 救命啊,AIX小机,我想删除一个10G的文件,我先移动到根目录下,然后rm 文件名后,用df -g发现空间没有变化?求助啊!
  • 请问:我读文件数据时,我发现最后一行老是读出两次,但如果我在windows下就只有一行,这是什么原因啊?
  • 编译2.6内核zImage,发现文件太大装不进skyeye上面的做2410仿真
  • 请问:在配置Qt时,很多文档都说在.profile,.login里加东西,但是我好像没有发现有这两个文件上,请问这些文件在哪个目录下啊
  • 我按书上的例子写了一个大开文件对话框,发现有一个问题
  • 发现/分区的空间被占满,请问如何查出空间是被那些大文件所占满
  • 我在下载debian的时候发现有三个iso文件,有一个包含了businesscard这个单词,请问这三个iso文件个有什么用处啊?
  • ssh远程登录服务器,使用vim浏览文件,发现行号乱了
  • Unix上g++编译STL程序出错——“libstdc++.so.5 =>(文件没有发现)”
  • 我用的是Red Hat桌面版5.0,安装后提示说发现在一个网卡,但是没有找到相应的驱动,我在网上下载下来是些.c文件,请问如何安装
  • 安装软件时,发现缺libImlib.so这个文件,下载下来之后,安装,可是还装不上!还是找不到!怎么才能让它被找到!
  • 载完rh7.3的三个iso 文件~ 用winios打开后~ 没有发现setup.exe文件~ 大吓帮忙指点一二~
  • 谁说得详细谁得分!我从rh 7.3访问windows的文件时,发现无法显示中文,汉字都变成了问号。怎么解决阿
  • Redhat linux FC从硬盘(ISO文件)装好后,发现安装的时候忘记选择一些组建,现在想把他们装上,怎么玩?
  • 安装完redhat linux as4后发现/usr/src下面没有任何文件?
  • 请问:我发现如果在/usr/local/bin 与/usr/bin下都有同一个执行文件时,当在shell下执行时,只会执行/usr/local/bin,下的,怎么改过来?
  • 求助呀,我们的HP-UNIX的服务器经常发现有文件被恶意删除。有查询用户执行命令的记录日志吗,感谢了!
  • Linux下编译so文件,调用时发现找不到CPP中的函数
  • 哪位能给我Jbuilder7的Crack文件,去找了半天,发现一些大家推荐的网站都不能下!谢谢!
  • C++ I/O 成员 eof():如果处于文件结尾处则返回true
  • Shell脚本如何递归现实一个文件夹中的文件(文件夹中含有文件夹)
  • WinDows8最新版文件夹加密
  • 求命令:什么命令可以把文件夹下所有的文件按修改时间先后排出来,包括子文件夹里的文件。
  • sharepoint 2010 使用STSNavigate函数实现文件下载举例
  • [提问]Linux下如何把多个.a文件编译一个.so文件,或者把多个.so文件编译成一个.so文件
  • python异常信息堆栈输出到日志文件
  • 请问:proc中的头文件中能包含头文件吗?(感觉如果头文件中包含头文件的话,在链接时就会有错误啊)
  • Centos6下安装Shell下文件上传下载rz,sz命令
  • 我要实现当进程打开文件时,根据文件名判断是否符合要求,符合后处理文件,再把文件返回给进程,怎么实现啊
  • 在MyEclipse中设开启xml文件自动提示和自动完成功能


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3