package com.soft.test;

 //AWT: FileDialog类 + FilenameFilter类 可以实现本功能
//Swing: JFileChooser类 + FileFilter类 可以实现本功能
//
//该类用来测试打开文件和保存文件的对话框 import java.awt.*; //为了使用布局管理器
import java.awt.event.*;//用来处理事件
import javax.swing.*; //最新的GUI组件
import java.io.*; //读写文件用 public class filechooser { private JFrame frm;
private JButton open;
private JButton read;
private JPanel p;
private File f;
private JFileChooser fc;
private int flag; public filechooser() {
frm = new JFrame("java");
open = new JButton("open");
read = new JButton("read");
p = new JPanel();
fc = new JFileChooser(); Container c = frm.getContentPane();
c.setLayout(new FlowLayout()); c.add(p);
p.add(open);
p.add(read); //注册按钮事件
open.addActionListener(new action());
read.addActionListener(new action()); frm.setSize(, );
frm.setVisible(true);
//设置默认的关闭操作
frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
} private void openFile() //打开文件
{
//设置打开文件对话框的标题
fc.setDialogTitle("Open File"); //这里显示打开文件的对话框
try {
flag = fc.showOpenDialog(frm);
} catch (HeadlessException head) { System.out.println("Open File Dialog ERROR!");
} //如果按下确定按钮,则获得该文件。
if (flag == JFileChooser.APPROVE_OPTION) {
//获得该文件
f = fc.getSelectedFile();
System.out.println("open file----" + f.getName());
}
} private void readFile() //保存文件
{
String fileName; //设置保存文件对话框的标题
fc.setDialogTitle("Save File"); //这里将显示保存文件的对话框
try {
flag = fc.showSaveDialog(frm);
} catch (HeadlessException he) {
System.out.println("Save File Dialog ERROR!");
} //如果按下确定按钮,则获得该文件。
if (flag == JFileChooser.APPROVE_OPTION) {
//获得你输入要保存的文件
f = fc.getSelectedFile();
//获得文件名
fileName = fc.getName(f);
//也可以使用fileName=f.getName();
System.out.println(fileName);
}
} //按钮监听器类内部类
class action implements ActionListener {
public void actionPerformed(ActionEvent e) {
//判断是哪个按纽被点击了
if (e.getSource() == open)
openFile();
else if (e.getSource() == read)
readFile();
}
} public static void main(String[] args) {
new filechooser();
}
}

java中文件保存、打开文件对话框的更多相关文章

  1. 利用aspose-words 实现 java中word转pdf文件

    利用aspose-words  实现 java中word转pdf文件 首先下载aspose-words-15.8.0-jdk16.jar包 引入jar包,编写Java代码 package test; ...

  2. java中多种方式读文件

    转自:http://www.jb51.net/article/16396.htm java中多种方式读文件 一.多种方式读文件内容. 1.按字节读取文件内容 2.按字符读取文件内容 3.按行读取文件内 ...

  3. [转] - 在mac的终端中使用sublime打开文件

    在mac的终端中使用sublime打开文件 使用sublime提供的命令行工具.这个命令行工具位于 /Applications/Sublime\ Text\ 2.app/Contents/Shared ...

  4. JAVA中比较两个文件夹不同的方法

    JAVA中比较两个文件夹不同的方法,可以通过两步来完成,首先遍历获取到文件夹下的所有文件夹和文件,再通过文件路径和文件的MD5值来判断文件的异同.具体例子如下: public class TestFo ...

  5. java中调用kettle转换文件

    java中调用kettle转换文件 通过命令行也能够调用,然后java中调用命令行代码也能够.这样没有和java代码逻辑无缝集成.本文说明kettle5.1中假设通过其它API和java代码无缝集成: ...

  6. C#中FolderBrowserDialog类打开文件夹使用说明

    C#中FolderBrowserDialog类打开文件夹使用说明   作用:打开文件选择窗口获取文件夹路径.   导入的命名空间为: System.Windows.Forms; 属性:   Descr ...

  7. linux 文件描述符表 打开文件表 inode vnode

      在Linux中,进程是通过文件描述符(file descriptors,简称fd)而不是文件名来访问文件的,文件描述符实际上是一个整数.Linux中规定每个进程能最多能同时使用NR_OPEN个文件 ...

  8. 【转】python qt(pyqt)的文件打开、文件保存、文件夹选择对话框

    import PyQt4.QtCore,PyQt4.QtGui # 获取文件路径对话框 file_name = QFileDialog.getOpenFileName(self,"open ...

  9. 【JVM】Java中的JavaCore/HeapDump文件及其分析方法

    产生时间 Java程序运行时,有时会产生JavaCore及HeapDump文件,它一般发生于Java程序遇到致命问题的情况下. 有时致命问题发生后,Java应用不会死掉,还能继续运行: 但有时致命问题 ...

  10. java中如何设置下载文件

    如果想要设置某一url为下载文件的方法如下 需要设置文件响应类型,使用response.setContentType,比如jpeg格式的图片.如果想要访问该页面时出现下载保存的窗口,使用respons ...

随机推荐

  1. SharePoint 2013 WebPart属性面板配置

    为WebPart添加右侧的属性面板,方便将来对于WebPart的配置,我们只需要在CustomWebPart.cs文件里面,声明一下变量即可: private string url = string. ...

  2. Mantis 缺陷管理系统配置与安装[Z]

    什么是Mantis MantisBT is a free popular web-based bugtracking system (feature list). It is written in t ...

  3. 几种改变Activity回退栈默认行为的Intent Flag

    FLAG_与LaunchMode相比最大的不同是临时性 1.FLAG_ACTIVITY_NEW_TASK: Developer.android.com的说法: (1)在新的task中启动这个Activ ...

  4. MySQL中用decimal的原因

    原因:float保存的值有可能是这个值的近似值,而不是这个值的真实值.如 0.1在二进制中是没有办法保存真实值的. 下面是例子: 第一步:建表: create table t2(x float,y d ...

  5. C语言入门(2)——安装VS2013开发环境并编写第一个C语言程序

    在C语言入门系列中,我们使用Visual studio 2013 Professional作为开发工具.本篇详细介绍如何安装Visualstudio 2013 Professional并写出我们第一个 ...

  6. javascript数组排序-----1

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. nodejs项目中的路由写法

    //两种路由写法,一种封装成函数,返回结果,此种方法可以传递参数, "use strict"; var _ = require("lodash"); var e ...

  8. HDOJ2031进制转换

    项目做久了,我发现自己对代码的实现能力越来越差劲了!经过前一段时间找工作的经历就能够明显感觉的到自己的代码熟练度不够!因此,今后要多加练习.要想做好一个优秀的程序猿就要多写程序,多思考. ★结题思路 ...

  9. IOS系列——NStimer

    Timer经常使用的一些东西 1. 初始化 timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@select ...

  10. Android自定义Activity酷炫的动画跳转效果

    两个Activity跳转的时候,自定义翻页效果: Intent intent = new Intent(FirstActivity.this, SecondActivity.class);   sta ...