java 的 BufferedReader 问题

shrimpywu 2005-10-27 11:23:04
public class WordAnalyze {

/**
* @param args
*/
BufferedReader bReader;



WordAnalyze(){
bReader = new BufferedReader(new FileReader(FileIO.fileSelected));
//为什么会有 FileNotFoundException的错误出现啊
//fileSelected是同一个包里的别一个类的一个public 的File 参数的来
}
}



public class FileIO {

/**
* @param args
*/

public static File fileSelected;

......
......
...... 其中里面有些函数对fileSelected进行了操作...
我的意图是先用filechooser进行选择文件后..再对文件进行分析...望大家帮帮忙看是出了什么问题了...谢谢
}
...全文
411 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanxiazhiqiu 2005-10-28
  • 打赏
  • 举报
回复
那你应该提前加载这个class吧
shrimpywu 2005-10-27
  • 打赏
  • 举报
回复
exampleFileFilter.java 在
jdk1.5.0_04\demo\jfc\FileChooserDemo里
shrimpywu 2005-10-27
  • 打赏
  • 举报
回复
我把 FileIO贴出来吧
FileIO还要用到别一个jdk里 choooserdemo里的 examplefilefilter..
我用的jdk是1.5

import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//import javax.swing.event.*;
//import javax.swing.filechooser.*;
//import javax.swing.filechooser.FileFilter;

public class FileIO {

/**
* @param args
*/
public static JFrame jf;
public static Button Bchoose;
public static JFileChooser chooser;
static ExampleFileFilter filter;
public static File fileSelected;
public static int returnVal;
public static JScrollPane logjsp;
public static JTextArea log;


FileIO(){
Bchoose = new Button("Choose a File!!!");
Bchoose.addActionListener(new BAct());

log = new JTextArea(5,50);
log.setEditable(false);
logjsp = new JScrollPane(log);

filter = new ExampleFileFilter();
filter.addExtension("tm");

JFrame.setDefaultLookAndFeelDecorated(true);
jf = new JFrame("SNL Complier");
jf.setLayout(new BorderLayout());
jf.setSize(600,300);
jf.add(Bchoose,BorderLayout.SOUTH);
jf.add(logjsp,BorderLayout.CENTER);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//jf.pack();
jf.setVisible(true);
}


public static void main(String[] args) {
// TODO Auto-generated method stub
new FileIO();
}

}


class BAct implements ActionListener {
public void actionPerformed(ActionEvent e) {
// try{
FileIO.chooser = new JFileChooser();
FileIO.chooser.setFileFilter(FileIO.filter);
FileIO.log.append("Choosing file!!! \n");
// }catch(exception){
// log.append("FileChooser initial failed!!! \n");
// }
if(e.getSource() == FileIO.Bchoose){
FileIO.returnVal = FileIO.chooser.showDialog(FileIO.jf,"choose");

if(FileIO.returnVal == JFileChooser.APPROVE_OPTION){
FileIO. fileSelected = FileIO.chooser.getSelectedFile();
//succeed in opening the file
FileIO.log.append("Open:"+FileIO.fileSelected.getName()+"\n");

FileIO.log.append(FileIO.fileSelected.toString()+"\n");
}else{
FileIO.log.append("You haven`t done anything!!! \n");
}
}
}
}
yanxiazhiqiu 2005-10-27
  • 打赏
  • 举报
回复
问题是FileIO是什么,fileSelected又是什么,方法么?括号呢?
shrimpywu 2005-10-27
  • 打赏
  • 举报
回复
没有的..fileSelected没有绝对的地址的....

FileIO实现的就像IE里选择 文件-->打开 所弹出的打开窗口...fileSelected就等于所打开的文件..
我是想打开一个文件文件..然后对文件文件进行字符分析..词分析....

FileReader() 我看了 javadoc..不是有一个构造函数是 FileReader(File f) 么..怎么我那样不行的
pauliuyou 2005-10-27
  • 打赏
  • 举报
回复
fileSelected应该有绝对地址吧.
最好代码条理性和顺序性强一些.呵呵.
shrimpywu 2005-10-27
  • 打赏
  • 举报
回复
感谢pieapple



回复 yanxiazhiqiu(if the words don't come my way...)
在class BAct 里
pieapple 2005-10-27
  • 打赏
  • 举报
回复
另外整个代码编写风格很不好.
FileIO中的static成员过多, 而且要确定好究竟以哪个类作为main.
我建议用FileIO作为main比较好, WordAnalyze()构造函数中传入FileIO选中的文件,放在FileIO选择文件响应函数中调用,以实现在选择后自动读取分析文件的异步处理模式.
yanxiazhiqiu 2005-10-27
  • 打赏
  • 举报
回复
public static File fileSelected;

这个你在哪里初始化了?
pieapple 2005-10-27
  • 打赏
  • 举报
回复
WordAnalyze(){
bReader = new BufferedReader(new FileReader(FileIO.fileSelected));
}
改为
try{
reader = new BufferedReader(new FileReader(FileIO.fileSelected));
}catch(FileNotFoundException e){
System.out.println(e.getStackTrace());
}

62,629

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧