java JFileChooser选择文件和保存文件
2024-08-26 12:17:01
//文件过滤器
import java.io.File; import javax.swing.filechooser.FileFilter; public class MyFilter extends FileFilter{
private String[] filterString = null;
public MyFilter(String[] filStrings){
this.filterString = filStrings;
}
public boolean accept(File file){
if(file.isDirectory()) return true;
for(int i=0; i<filterString.length; ++i)
if(file.getName().endsWith(filterString[i]))
return true;
/* 返回要显示的文件类型 */
/*
* File.isDirectory()测试此抽象路径名表示的文件是否是一个目录
*/
return false;
} public String getDescription() {
String ss = "";
for(int i=0; i<filterString.length; ++i)
ss += " *" + filterString[i];
return("Txt Files(" + ss + ")"); //返回显示文件类型的描述
}
}
//文件的选择
JFileChooser jfc = new JFileChooser();
//设置文件的过滤器
String[] filterString = {".cpp", ".c"};
MyFilter filter = new MyFilter(filterString);
//获取jar包位置,设置JFileChooser当前路径
String jarFilePath = Main.class.getProtectionDomain().getCodeSource().getLocation().getFile();
try {
jarFilePath = URLDecoder.decode(jarFilePath, "UTF-8");
} catch (UnsupportedEncodingException ex) {
ex.printStackTrace();
}
jfc.setCurrentDirectory(new File(jarFilePath));
jfc.setFileFilter(filter);
jfc.showOpenDialog(null);
File fl = jfc.getSelectedFile();
if(fl != null){
String code = "";
try {
BufferedReader br = new BufferedReader(new FileReader(fl));
String newLine = null;
boolean flag = true;
while((newLine=br.readLine()) != null){
}
} catch (FileNotFoundException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}
}
//文件的保存
JFileChooser jfc = new JFileChooser();
String[] filterString = {".txt"};
//设置文件的过滤器
MyFilter filter = new MyFilter(filterString);
//获取jar包位置,设置JFileChooser当前路径
String jarFilePath = LexicalAnalyzer.class.getProtectionDomain().getCodeSource().getLocation().getFile();
try {
jarFilePath = URLDecoder.decode(jarFilePath, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
jfc.setCurrentDirectory(new File(jarFilePath));
jfc.setFileFilter(filter);
jfc.showSaveDialog(null);
File fl = jfc.getSelectedFile();
OutputStreamWriter osw;
try {
osw = new OutputStreamWriter(new FileOutputStream(fl));
String text = textPane.getText();
osw.write(text, 0, text.length());
osw.flush();
osw.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
最新文章
- Android获取服务器Json字符串并显示在ListView上面
- iOS 视图,动画渲染机制探究
- 无法解析类型 javax.servlet.http.HttpServletRequest。从必需的 .class 文件间接引用
- Valentine&#39;s Day Round 1001.Ferries Wheel(hdu 5174)解题报告
- jquery.form.js实现将form提交转为ajax方式提交的使用方法
- 使用logminer分析日志文件
- android 自定义命名空间
- Phpcms V9全站伪静态设置方法
- 享受一下大神的感觉, unity中用C#自己封装dll
- 开启AngularJS 1.X的学习之路(1)
- javabean 和 xml 互转
- Linux下环境变量配置方法梳理(.bash_profile和.bashrc的区别)
- cacti系列(三)之cacti添加对mysql服务器主从的监控
- pip windows下的引入
- (译) 在AngularJS中使用的表单验证功能【转】
- win8 中如何删除 共享文件夹 用户名和密码
- 前端开发-2-HTML-head标签
- JS地毯式学习一
- Android的JNI调用(一)
- [Z]图灵奖获得者Richard Karp讲述Berkeley CS的发展史