怎么样从打开文件对话框中,选择文件打开? 在做一个打开的 文件对话框,选择文件后,想要打开,怎么样才能打开?代码应该怎么样实现?还有保存文件? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 JFileChooser是用来返回文件名称的,打开和保存都要自己实现 以前自己写的一个记事本的一部分不知道符不符合你的要求-----------------import ......public class NotepadFile{ private Component parent; private File file; private JFileChooser filechooser=new JFileChooser(); public NotepadFile(final Component parent) { this.parent = parent; filechooser.addChoosableFileFilter(new NotepadFileFilter( "java" )); filechooser.addChoosableFileFilter(new NotepadFileFilter( "txt" )); } //取得当前文件对象 public File getFile(){ return file; } /* *保存文件 *@param notefile 要保存的文件对象 *@param data 文件数据 **/ public boolean saveFile(File notefile,String data){ this.file = notefile; if(getFile()!=null){ try{ FileWriter fw=new FileWriter(getFile()); fw.write(data); fw.close(); return true; } catch(Exception e){ JOptionPane.showMessageDialog( null ,"保存文件出错:"+e.getMessage(),"错误",JOptionPane.WARNING_MESSAGE); } } else{ return saveAs(getFile(),data);} return false; } //----另存为------------------- public boolean saveAs(File notefile,String data) { if(notefile==null) filechooser.setDialogTitle("保存"); else filechooser.setDialogTitle("另存为"); if(JFileChooser.APPROVE_OPTION == filechooser.showSaveDialog( parent )){ this.file = filechooser.getSelectedFile(); return saveFile(getFile(),data); } return false; } /* *读取文件内容 *@return 返回文件内容 **/ public String openFile(File openfile) { String str = null; if(openfile == null){ if(getFile() != null) filechooser.setSelectedFile( getFile() ); if(JFileChooser.APPROVE_OPTION==filechooser.showOpenDialog( parent )) this.file=filechooser.getSelectedFile(); else return null; } else { this.file = openfile; } try{ int size = (int)getFile().length(),readchar = 0; char[] data = new char[size]; FileReader in = new FileReader(getFile()); while( in.ready()) readchar = readchar + in.read(data,readchar,size - readchar); in.close(); str = new String(data,0,readchar); return str; }catch(Exception e){ JOptionPane.showMessageDialog( null ,"打开文件出错:"+e.getMessage(),"错误",JOptionPane.WARNING_MESSAGE); } return null;}//实现FileFilter抽象类private class NotepadFileFilter extends FileFilter{ String str; public NotepadFileFilter(String str){ this.str = str; } //实现accept方法 public boolean accept(File file){ if(file.isDirectory())//是目录时,返回true return true; String fileName = file.getName(); int index = fileName.lastIndexOf('.'); if(index>0&&index<fileName.length()-1){ String exetension = fileName.substring(index+1).toLowerCase(); if(exetension.equals(str)) return true; } return false; } //实现getDescription方法 public String getDescription(){//返回描述文件说明的字符串 if(str.equals("java")){ return "JAVA文件 (*.java)"; } if(str.equals("txt")){ return "文本文件(*.txt)"; } return ""; } }} JAVA 构造对象的问题 高手帮忙(swing编程问题) java 一个方法 不清楚 equals与hashCode 如何读取接受到的byte[]图片? tomcat 请问大家这个语句是什么意思 谢谢! System.out.println(new String(buf, 0, len)); 编写ejb组建类时是否需要一定实现对应该组件的Home接口,初步接触,请多指教 ---如何修改弹出对话框的Title----- java的内存泄露吗??? JTree 控件中选择一个节点,怎么能得到这个节点下的所有子孙?急!!! 怎么让焦点不发生移动?
不知道符不符合你的要求
-----------------
import ...
.
.
.
public class NotepadFile
{
private Component parent;
private File file;
private JFileChooser filechooser=new JFileChooser();
public NotepadFile(final Component parent)
{
this.parent = parent;
filechooser.addChoosableFileFilter(new NotepadFileFilter( "java" ));
filechooser.addChoosableFileFilter(new NotepadFileFilter( "txt" ));
}
//取得当前文件对象
public File getFile(){
return file;
}
/*
*保存文件
*@param notefile 要保存的文件对象
*@param data 文件数据
**/
public boolean saveFile(File notefile,String data){
this.file = notefile;
if(getFile()!=null){
try{
FileWriter fw=new FileWriter(getFile());
fw.write(data);
fw.close();
return true;
}
catch(Exception e){
JOptionPane.showMessageDialog( null ,"保存文件出错:"+e.getMessage(),"错误",JOptionPane.WARNING_MESSAGE);
}
}
else{
return saveAs(getFile(),data);}
return false;
}
//----另存为-------------------
public boolean saveAs(File notefile,String data)
{ if(notefile==null)
filechooser.setDialogTitle("保存");
else
filechooser.setDialogTitle("另存为");
if(JFileChooser.APPROVE_OPTION == filechooser.showSaveDialog( parent )){
this.file = filechooser.getSelectedFile();
return saveFile(getFile(),data);
}
return false;
}
/*
*读取文件内容
*@return 返回文件内容
**/
public String openFile(File openfile)
{
String str = null;
if(openfile == null){
if(getFile() != null)
filechooser.setSelectedFile( getFile() );
if(JFileChooser.APPROVE_OPTION==filechooser.showOpenDialog( parent ))
this.file=filechooser.getSelectedFile();
else
return null;
}
else
{
this.file = openfile;
}
try{
int size = (int)getFile().length(),readchar = 0;
char[] data = new char[size];
FileReader in = new FileReader(getFile());
while( in.ready())
readchar = readchar + in.read(data,readchar,size - readchar);
in.close();
str = new String(data,0,readchar);
return str;
}catch(Exception e){
JOptionPane.showMessageDialog( null ,"打开文件出错:"+e.getMessage(),"错误",JOptionPane.WARNING_MESSAGE);
}
return null;
}
//实现FileFilter抽象类
private class NotepadFileFilter extends FileFilter{
String str;
public NotepadFileFilter(String str){
this.str = str;
}
//实现accept方法
public boolean accept(File file){
if(file.isDirectory())//是目录时,返回true
return true;
String fileName = file.getName();
int index = fileName.lastIndexOf('.');
if(index>0&&index<fileName.length()-1){
String exetension = fileName.substring(index+1).toLowerCase();
if(exetension.equals(str))
return true;
}
return false;
} //实现getDescription方法
public String getDescription(){//返回描述文件说明的字符串
if(str.equals("java")){
return "JAVA文件 (*.java)"; }
if(str.equals("txt")){
return "文本文件(*.txt)";
}
return "";
}
}}