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

转载于:https://www.cnblogs.com/hujunzheng/p/4399248.html

java JFileChooser选择文件和保存文件相关推荐

  1. 【C#控件详解】对话框类控件(打开文件,保存文件,选择字体和颜色)

    在实际应用中,我们会用到各种各样的对话框,如打开文件,保存文件,选择字体和颜色等等.本文详细讲解C#中的颜色对话框.打开文件对话框.字体对话框.浏览文件夹对话框和保存文件对话框. 文章目录 1. Co ...

  2. 文本编辑器实现打开文件、保存文件、文件另存为、新建文件、软件关闭的功能

    文章目录 1 文本编辑器实现打开文件.保存文件.文件另存为.新建文件.软件关闭的功能 1.1 打开文件 1.2 保存文件 1.3 文件另存为 1.4 新建文件 1.5 软件关闭 1 文本编辑器实现打开 ...

  3. 怎么设置internet才能下载JAVA_如何使用Java从Internet下载和保存文件?

    我需要获取一个在线文件(例如http://www.example.com/information.asp )并将其保存到目录中. 我知道有几种逐行捕获和读取在线文件(URL)的方法,但是有没有一种方法 ...

  4. 计算机查找保存的文件,电脑保存文件到哪里找

    大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答. 电脑保存文件到开始菜单里面找.方法如下: 1.先点击"开始"菜单,选择"所有程序",再选择 ...

  5. 图片上传流程前端上传文件后端保存文件并返回图片地址

    也是在最近一点时间写小demo 遇到的一些问题 比如在用户界面,用户选择本地的一张照片,前端把照片传到后端,后端怎么把照片保存到服务器,然后返回给 图片线上地址.也是找了一些文章,然后分享下. 技术 ...

  6. 和德天老师学习如果把系统目录文件名保存到外部xlsx文件(保存文件--2小节)

    上篇抛砖引玉,讲了DOCX保存,下篇水到渠成,分享EXCEL目录生成 import openpyxl import os#数据结构 openpyxl_data = [] dir_path = &quo ...

  7. uniapp微信小程序下载文件,保存文件功能总结

    //通用下载文件方法 const download = (attachLink) => {let that = thisuni.downloadFile({url: attachLink , / ...

  8. 电脑关机Matlab文件没保存,文件还没保存就关机了?别怕,两招搞定它

    原标题:文件还没保存就关机了?别怕,两招搞定它 大家好!我依然是你们帅气依旧的小琛哥. 大家有没有碰到过这种情况. 老板交给你一项很重要的任务! 虽然晚上十二点了,但是今天晚上必须赶出来! 结果电脑突 ...

  9. 浅析C++中的打开文件、保存文件(OPENFILENAME)

    首先看看msdn上如何描述的: Contains information that the GetOpenFileName and GetSaveFileName functions use to i ...

最新文章

  1. 第五章 深入理解Magento – Magento资源配置
  2. Linux 下禅道和 SVN、GIT 集成插件发布
  3. TinyXML:一个优秀的C++ XML解析器
  4. Android平台和java平台 DES加密解密互通程序及其不能互通的原因
  5. FastMM FastCode FastMove的使用
  6. linux系统获取光盘信息api,C++ 通过WIN32 API 获取逻辑磁盘详细信息的几种方法
  7. react 生命周期函数
  8. 10.2.0.4 ON AIX 修改字段属性报错ORA-00600 [kdsgrp1]
  9. Python遗传算法初学者教程
  10. VBA编程基础和编程环境(二)
  11. Speedoffice(Excel)怎样给文字添加删除线?
  12. 【技法操作】UI界面设计,用PS绘制闹钟页面教程
  13. 【matplotlib】绘图模块介绍
  14. 群晖linux文件夹颜色红色,技术干货分享 | 群晖备份Linux文件夹~
  15. Springboot 项目中使用redis 的List结构来实现缓存分页分页
  16. 12.2 做一个读书的读书人——《逆袭大学》连载
  17. request.get乱码解决
  18. API勾取实现进程隐藏
  19. 电脑重装系统后会闪屏是什么原因
  20. SVN 如何把一个项目的版本回退到指定版本?

热门文章

  1. python画烟花的代码_电脑怎么用代码画烟花?
  2. mysql中的正向工程_Hibernate系列之正向工程
  3. rabbitmq 集群 ha负载 Consumer raised exception, processing can restart if the connection factory
  4. RuoYi-Vue 部署 Linux环境 若依前后端分离项目(jar包+nginx 单机版本)
  5. 深入理解javascript之原型和原型链
  6. python3-matplotlib基本使用(以折线图为例)
  7. 同事操作两个数据源保持事务一致_终于有人把分布式事务说清楚了
  8. 中蜂几月份自然分蜂_蜜蜂的种类:北黑蜂,中华蜜蜂,皖南中蜂,贵州纳雍中蜂等等...
  9. linux xguest用户,在/etc/passwd中得到普通用户列表
  10. 移动场景在其缩略图中显示场景中所显示的区域