import java.io.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.filechooser.FileFilter; public class JFileChooserTest { public static void main(String[] args) { FrameFileDialog f = new FrameFileDialog(); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } class FrameFileDialog extends JFrame implements ActionListener { private JFileChooser fileDialog = null; private Label label = new Label("INFO:", Label.CENTER); private JButton b1, b2; private JTextArea textArea = null; public FrameFileDialog() { super("带文件对话框的窗口"); Container con = this.getContentPane(); con.setLayout(new BorderLayout()); con.setSize(40, 50); b1 = new JButton("打开文件"); b2 = new JButton("保存文件"); b1.addActionListener(this); b2.addActionListener(this); JPanel p = new JPanel(); p.add(b1); p.add(b2); textArea = new JTextArea(20, 30); JScrollPane jsp = new JScrollPane(textArea); fileDialog = new JFileChooser("C:\\"); fileDialog.setControlButtonsAreShown(true); // 设置过滤条件 fileDialog.setFileFilter(new MyFileFilter("java")); fileDialog.setFileFilter(new MyFileFilter("txt")); con.add(jsp, BorderLayout.CENTER); con.add(label, BorderLayout.NORTH); con.add(p, BorderLayout.SOUTH); this.setSize(380,280); this.setVisible(true); //this.pack(); } @Override // 监听器 public void actionPerformed(ActionEvent e) { File file = null; int result; if (e.getSource() == b1) {// OPEN fileDialog.setDialogTitle("打开文件"); result = fileDialog.showOpenDialog(this); textArea.setText(""); if (result == JFileChooser.APPROVE_OPTION) { file = fileDialog.getSelectedFile(); label.setText("选择的文件是:" + file.getName()); } else if (result == JFileChooser.CANCEL_OPTION) { //JOptionPane.showMessageDialog(this, "你还未选择文件"); label.setText("未选中文件"); return; } //选择了文件 FileInputStream fileStream = null; try { fileStream = new FileInputStream(file); } catch (FileNotFoundException e1) { label.setText("文件没找到"); e1.printStackTrace(); return; } int readByte; byte buffer[]=new byte[1024]; try { while ((readByte = fileStream.read(buffer)) !=-1) { textArea.append(new String(buffer,0,readByte)); } //流使用完后关闭 fileStream.close(); } catch (IOException e1) { label.setText("读取文件出错"); e1.printStackTrace(); } } else if (e.getSource() == b2) {// 保存文件 fileDialog.setDialogTitle("保存文件"); result = fileDialog.showSaveDialog(this); file = null; if (result == JFileChooser.APPROVE_OPTION) { file = fileDialog.getSelectedFile(); label.setText("保存的文件是:" + file.getName()); } else if (result == JFileChooser.CANCEL_OPTION) { label.setText("没有选择任何文件"); } FileOutputStream fileStream1 = null; PrintWriter pw=null; if (file != null) { try { fileStream1 = new FileOutputStream(file); } catch (FileNotFoundException e1) { label.setText("文件没有发现"); e1.printStackTrace(); return; } String content = textArea.getText(); try { pw=new PrintWriter(fileStream1); pw.print(content); pw.close(); // fileStream1.write(content.getBytes()); fileStream1.close(); } catch (IOException e1) { label.setText("写文件出错"); e1.printStackTrace(); } } } } } /** * 文件过滤器,让文件打开对话框只显示特定格式的文件 * @author Administrator * */ class MyFileFilter extends FileFilter { private String ext; MyFileFilter(String ext) { this.ext = ext; } @Override public boolean accept(File file) { if (file.isDirectory()) return true; String fileName = file.getName(); int index = fileName.lastIndexOf("."); if (index > 0 && index < fileName.length() - 1) { String extension = fileName.substring(index + 1); if (extension.toLowerCase().equals(ext)) return true; } return false; } @Override public String getDescription() { if (ext.equals("java")) { return "Java source file(*.java)"; } if (ext.equals("txt")) { return "TXT file(*.txt)"; } return ""; } }
发表评论
-
CSDN表情批量下载
2014-07-24 16:55 641CSDN评论时有很多有趣的表情,可以通过程序将这些表 ... -
南京地铁票价查询
2014-07-16 16:27 959查看南京地铁各个站点间的距离 import java.io ... -
在指定路径下搜索含指定关键词的所有文件
2012-10-28 08:58 1066这个功能类似notepad++的文件搜索功能,如全词匹配“in ... -
java系统托盘
2012-07-20 22:43 935import java.awt.*; import j ... -
多线程实例
2012-07-20 22:08 725public class Class1 { publ ... -
读配置文件,传参数,打印message
2012-06-21 19:43 990为了将来维护,message内容可能需要更改 ... -
java 线程 模拟卖票
2012-05-27 13:35 973package thread; import jav ... -
java URLConnection
2012-05-27 13:36 1145package net; import java.ne ... -
java Vector
2012-05-26 20:40 760import java.util.Vector; im ... -
java applet GUI 2D
2012-05-26 20:09 1018package applet; import java.aw ... -
java AdjustmentListener,Scrollbar的使用
2012-05-26 20:03 1004package gui.event; import j ... -
java TextListener的使用
2012-05-26 19:57 1461package gui.event; import ... -
多线程模拟测试网站并发性
2012-05-25 21:11 2877网站开发完了后,需要测试网站能支持多少用户并发访问,下面的j ... -
java 字节流使用
2012-05-21 14:04 1071package advance.test; import ... -
java通过apache的POI写EXCEL
2012-04-22 22:05 1912Apache POI是Apache 软件 基金会的开放 ... -
java全屏
2012-04-22 14:54 1044下面的代码演示了如何让JFrame全屏显示: impo ... -
JDBC-ODBC桥连接方式连接MS ACCESS,配置数据源
2012-04-22 13:59 1367下面是通过jdbc-odbc连接ms access数据库的一种 ... -
java获取系统相关信息
2012-01-12 22:12 1571下面的代码可以获取系统的环境变量,操作系统、处理器、编码和语言 ...
相关推荐
主要介绍了Java文件选择对话框JFileChooser使用详解的相关资料,需要的朋友可以参考下
java程序设计 TCP文件传输程序 JFileChooser实现文件选择 可以设置路径
Java中文件选择器JFileChooser.showSaveDialog实现默认文件名的解决方案
JFileChooser是Swing库提供的一个用于选择文件和目录的组件。它允许用户浏览文件系统并选择所需的文件或目录。
JFileChooser使用详解,告诉你这个类怎样使用,包括打开文件,选择文件 啊,等等!
JFileChooser下载文件到本地,可选择文件保存路径,可以上传文件,保存文件chooser.showSaveDialog()函数,打开文件chooser.showOpenDialog()函数
主要介绍了Java Swing组件文件选择器JFileChooser简单用法,结合实例形式分析了Swing组件中的文件选择器JFileChooser的简单使用方法,需要的朋友可以参考下
JAVA中JFileChooser的使用方法 实现打开保存和关闭文件
Swing中使用JFileChooser选择文件目录
主要介绍了Java Swing组件JFileChooser用法,结合实例形式分析了java Swing组件JFileChooser文件选择器的功能、使用方法及相关注意事项,需要的朋友可以参考下
java实现的文件选择器的java代码Jfilechooser
javax.swing.filechooser 包含 JFileChooser 组件使用的类和接口。 javax.swing.plaf 提供一个接口和许多抽象类,Swing 用它们来提供自己的可插入外观功能。 javax.swing.plaf.basic 提供了根据基本外观构建的用户...
ImageComparerUI——基于Java语言实现的相似图像识别,基于直方图比较算法。 import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Font...
import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing....
Java生成、修改文件夹和文件名,Java创建目录或文件夹,并修改、删除、重命名文件夹或文件名称,使用进行的文件操作实例。 super("目录和文件的创建、删除和更名"); //调用父类构造函数 jtfPath=new ...
javax.swing.filechooser 包含 JFileChooser 组件使用的类和接口。 javax.swing.plaf 提供一个接口和许多抽象类,Swing 用它们来提供自己的可插入外观功能。 javax.swing.plaf.basic 提供了根据基本外观构建的用户...
利用Java swing 对csv和excel文件进行读写;并且可以同时读取5个文件的数量;通过关键字配置来读文件,还有就是通过POI CSVWriter等类的使用来对excel和csv等文件进行操作
package cleanMine; import javax.swing.*;... private JFileChooser jfc; private int row, col, mine; private int t, leftmine; private MineButton[][] mbs = null; private int id = 0;
由于Java中的DES在每个加密块后增加了几个字节的封装,因而不适合用其他程序解密相应的大于一个加密块的文件(本程序采用512k的加密块) 第一次更新: 更改了加密文件的表示方式,由加后缀.DES变为在原扩展名前加....
讲述了 java io流的一些基本方法。记事本的一些基本功能 介绍了jpanel,jmenubar,jfilechooser