`
bcworld
  • 浏览: 39304 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

java JFileChooser

 
阅读更多

 

 

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 "";
	}

}

 

 

 

分享到:
评论

相关推荐

    Java文件选择对话框JFileChooser使用详解

    Java中的`JFileChooser`是Swing库提供的一种用于在用户界面中实现文件选择功能的组件。它允许用户从本地文件系统中打开、保存或者选择文件,对于任何涉及到用户需要交互选择文件的应用程序,如文件加密器,都是必不...

    Java的JFileChooser类的使用详解

    Java的JFileChooser类的使用详解 JFileChooser是一个Java类,提供了一个文件对话框,用于选择文件或文件夹。它可以通过API打开一个模态对话框,或直接实例化并加入到其他组件。 直接使用JFileChooser打开对话框 ...

    基于 java swing 开发的资源管理器

    1. JFileChooser:这是用来打开文件选择对话框的组件,用户可以从中选择一个或多个文件或目录。在资源管理器中,它可能被用作打开或保存文件的入口。 2. JTree:这个组件可以展示文件系统的目录结构。每个节点代表...

    Java Swing组件JFileChooser用法实例分析

    Java Swing组件JFileChooser用法实例分析 Java Swing组件JFileChooser是Swing中经常用到的一个控件,主要用于文件选择和文件管理。下面将结合实例形式分析JFileChooser文件选择器的功能、使用方法及相关注意事项。 ...

    Java中文件选择器JFileChooser.showSaveDialog实现默认文件名的解决方案

    "Java中文件选择器JFileChooser.showSaveDialog实现默认文件名的解决方案" 在 Java 中,文件选择器 JFileChooser 是一个常用的组件,用于选择打开文件或保存文件。然而,在使用 JFileChooser 的时候,我们经常会...

    JFileChooser

    `JFileChooser`是Java Swing库中的一个组件,用于在用户界面中显示文件选择对话框,让用户能够选择文件或目录。这个组件在开发需要用户交互进行文件操作的应用程序时非常有用。下面将详细介绍`JFileChooser`的使用...

    使用JFileChooser控件下载文件

    JFileChooser下载文件到本地,可选择文件保存路径,可以上传文件,保存文件chooser.showSaveDialog()函数,打开文件chooser.showOpenDialog()函数

    Java Swing 文件选择器

    在Java Swing中,`JFileChooser`是用于实现文件选择对话框的关键类,它允许用户从本地文件系统中打开或保存文件。这个小例子是关于如何使用`JFileChooser`创建一个简单的文件选择功能。 在Java Swing应用中,`...

    JFileChooser使用详解

    在Java编程环境中,`JFileChooser`是Swing库中的一个关键组件,用于实现文件选择对话框。它允许用户在本地文件系统中浏览并选择文件或目录,广泛应用于需要用户交互选取文件的应用场景。本文将深入探讨`JFileChooser...

    java swing 文件对话框

    从Java 6开始,`JFileChooser`支持多文件选择。只需调用`setMultiSelectionEnabled(true)`,用户就可以同时选择多个文件。 通过以上介绍,初学者可以快速掌握Java Swing中的文件对话框使用。实践是检验真理的唯一...

    java文件对话框

    在Java中,我们通常使用`JFileChooser`类来实现文件打开和保存的功能。 首先,让我们详细了解`JFileChooser`类。它是Java AWT和Swing库的一部分,位于`javax.swing`包中。`JFileChooser`提供了两种主要操作:打开...

    java 保存文件

    JFileChooser 是 Java 中一个用于选择文件的组件,可以用来实现文件保存功能。以下代码演示了如何使用 JFileChooser 实现文件保存功能: ```java JFileChooser jFileChooser = new JFileChooser(); jFileChooser....

    Java制作文件选择对话框.rar

    本教程将深入讲解如何使用Java来实现这一功能,主要涉及`javax.swing.JFileChooser`类的使用。 `JFileChooser`是Java Swing库中的一个组件,用于展示文件选择对话框。它提供了丰富的功能,包括浏览文件、预览文件、...

    java实现文件选择

    `JFileChooser`是Java Swing库中的一个组件,用于显示一个对话框,让用户浏览和选择文件。通过这个类,我们可以创建一个图形用户界面,让用户进行文件选择操作。例如: ```java JFileChooser fileChooser = new ...

    Java文件选择器源代码

    在Java中,我们可以使用JFileChooser类来实现这个功能,它是Java Swing库的一部分。 1. **JFileChooser类**: JFileChooser是Java Swing中的一个核心组件,它提供了一个用户界面,让用户可以选择文件或目录。...

    用Java输出HTML文件

    此过程涉及多个Java核心库,包括`java.io.File`、`java.util.List`、`java.io.FileWriter`和`javax.swing.JFileChooser`等。 #### 二、关键技术与步骤 ##### 1. 文件选择与读取 - **使用`JFileChooser`选择文件或...

    有用的例子啊JAVA文件选择器

    1. **JFileChooser类**: `JFileChooser` 是Java Swing库中的一个组件,它为用户提供了一个图形用户界面(GUI),以便在操作系统中打开、保存或选择文件。通过创建 `JFileChooser` 对象,我们可以设置各种选项,如...

    java swing文件管理

    首先,`JFileChooser`是Java Swing提供的重要组件,它允许用户选择文件或目录。通过创建`JFileChooser`对象,我们可以设置对话框的初始目录,限制用户只能选择文件或目录,甚至可以设置文件过滤器来只显示特定类型的...

    Java文件选择器源代码.rar

    在Java中,我们可以利用`JFileChooser`类来创建这样的文件选择器,它是Java Swing库的一部分,提供了图形用户界面(GUI)的文件选择对话框。 在Java中使用`JFileChooser`的基本步骤如下: 1. **导入所需的库**:...

    给JAVA打开文件对话框指定后缀

    为了实现这一功能,我们可以利用Java的`JFileChooser`类,它提供了用于打开和保存文件的对话框。本文将深入探讨如何使用`JFileChooser`来指定文件对话框中的后缀过滤器,从而限制用户只能选择特定类型文件。 首先,...

Global site tag (gtag.js) - Google Analytics