写一个openFile的方法。要求用jFileChooser打开对话框,打开指定后缀名的文件,比如.txt。
我写了一个,但是默认的是打开所有的文件类型,请教在哪里加一句什么代码可以使打开的文件类型为事先设置好的,比如.txt的文件???
代码如下:
void openFile(String fileName)
{
try
{
File file=new File(fileName); //我尝试在这里修改代码为File file=new File("fileName.txt"); 结果抛出异常
int size=(int)file.length();
int chars_read=0;
FileReader in=new FileReader(file);
char[] data=new char[size];
while(in.ready())
{
chars_read+=in.read(data,chars_read,size-chars_read);
}
in.close();
jTextArea1.setText(new String(data,0,chars_read));
this.currFileName=fileName;
this.dirty=false;
statusBar.setText("Opened "+fileName);
}
catch(IOException e)
{
statusBar.setText("Error opening"+fileName);
}
}
//调用openFile方法的菜单项
public void jMenuItem2_actionPerformed(ActionEvent actionEvent) {
if(JFileChooser.APPROVE_OPTION==jFileChooser1.showOpenDialog(this))
{
openFile(jFileChooser1.getSelectedFile().getPath());
}
}
[此贴子已经被作者于2007-5-4 13:46:12编辑过]
----------------解决方案--------------------------------------------------------
//我尝试在这里修改代码为File file=new File("fileName.txt"); 结果抛出异常
fileName.txt是不是要用完全路径?
----------------解决方案--------------------------------------------------------
是啊
statusBar.setText("Opened "+fileName);
状态栏上显示Opened 文件路径 文件名.后缀。
怎么解决啊???
----------------解决方案--------------------------------------------------------
要显示指定的文件,用FileFilter
----------------解决方案--------------------------------------------------------
用不了啊
不会啊
谁能告诉我怎么用啊?
----------------解决方案--------------------------------------------------------
用以个递归方法:
public static void openFile(File f){
File[] file=f.listFiles(new FileFilter(){
public boolean accept(File fff){//这里用来是判断
return fff.isDirectory()||fff.getName().endsWith(".txt");
}
});
for(File ff:file){
if(ff.isDirectory()){
openFile(ff);//这里是递归调用自己
}
else{
System.out.println(ff);
}
}
}
----------------解决方案--------------------------------------------------------
终于有人回答了。。。感动。。。我先试试去
----------------解决方案--------------------------------------------------------
郁闷。。。这样jFileChooser的对话框出不来啊
----------------解决方案--------------------------------------------------------
把递归去掉
----------------解决方案--------------------------------------------------------
这个还是不太明白。。。
不过还是感谢大家的帮助。。。
谢谢各位啦!!!
----------------解决方案--------------------------------------------------------