//文件过滤器
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();
}

最新文章

  1. Android获取服务器Json字符串并显示在ListView上面
  2. iOS 视图,动画渲染机制探究
  3. 无法解析类型 javax.servlet.http.HttpServletRequest。从必需的 .class 文件间接引用
  4. Valentine&#39;s Day Round 1001.Ferries Wheel(hdu 5174)解题报告
  5. jquery.form.js实现将form提交转为ajax方式提交的使用方法
  6. 使用logminer分析日志文件
  7. android 自定义命名空间
  8. Phpcms V9全站伪静态设置方法
  9. 享受一下大神的感觉, unity中用C#自己封装dll
  10. 开启AngularJS 1.X的学习之路(1)
  11. javabean 和 xml 互转
  12. Linux下环境变量配置方法梳理(.bash_profile和.bashrc的区别)
  13. cacti系列(三)之cacti添加对mysql服务器主从的监控
  14. pip windows下的引入
  15. (译) 在AngularJS中使用的表单验证功能【转】
  16. win8 中如何删除 共享文件夹 用户名和密码
  17. 前端开发-2-HTML-head标签
  18. JS地毯式学习一
  19. Android的JNI调用(一)
  20. [Z]图灵奖获得者Richard Karp讲述Berkeley CS的发展史

热门文章

  1. 转:如何调试PHP的Core之获取基本信息
  2. c#后台进行窗体切换的方法
  3. hdu 5104 素数打表水题
  4. firefox安装firebug\XPath Checker
  5. 导入aar文件出错
  6. Alamofire源码学习
  7. js基础知识:表达式
  8. C#.net 中 修饰符 详解 (来自MSDN)
  9. Arcengine 中,创建色带
  10. Swift不同storyboard之间的交互