`

Swing中文件选择器

 
阅读更多
今天同事开发了一些导入导出功能,我不经意间看到了选择器。感觉挺不错的,然后发了上来

package com.deppon.util;

import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import javax.swing.JFileChooser;
import javax.swing.filechooser.FileFilter;

import com.sun.xml.internal.messaging.saaj.util.ByteInputStream;

public class ChooserTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		chooserSomething();
	}
	
	/**
	 * @desc 通过弹出的框框进行选择文件
	 * @author 张兴旺
	 * @date 2012-12-27
	 */
	public static void chooserSomething(){
		JFileChooser chooser = new JFileChooser();
		
		chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
		
		FileFilter fileFilter = new FileFilter() {
			
			@Override
			public boolean accept(File pathname) {
				String name = pathname.getName().toLowerCase();
				if (name.endsWith(".png") || name.endsWith(".jpg")
						|| name.endsWith(".bmp") || name.endsWith(".gif")
						|| pathname.isDirectory()) {
					return true;
				} 
				return false;
			}
			

			@Override
			public String getDescription() {
				return "图片文件";
			}
		};
		
		chooser.addChoosableFileFilter(fileFilter);
		int result = chooser.showOpenDialog(null);
		if(result == JFileChooser.APPROVE_OPTION){
			File selectedImage = chooser.getSelectedFile();
			//以下可以作必要的动作,比如上传到数据库里面,则要有一个转换成Byte字节文件
			System.out.println(selectedImage.getAbsolutePath());
			System.out.println(getByteFromFile(selectedImage).length);
			byte[] image = getByteFromFile(selectedImage);
			Connection con = JdbcUtil.getConnection();
			PreparedStatement psmt = null;
			ByteArrayInputStream bins = null;
			String sql = "insert into tbbyte(idtbbyte,byteimage) values(?,?)";
			try {
				bins = new ByteArrayInputStream(getByteFromFile(selectedImage));
				psmt = con.prepareStatement(sql);
				psmt.setInt(1, 1);
				psmt.setBinaryStream(2, bins, image.length);
//				if(!psmt.execute()){
//					bins.close();
//					psmt.close();
//				}
				psmt.execute();
				bins.close();
				psmt.close();
			} catch (SQLException e) {
				e.printStackTrace();
			} catch (IOException e) {
				e.printStackTrace();
			}finally{
				JdbcUtil.closeConnection(con, psmt, null);
			}
		}
	}
	
	/**
	 * @desc 将文件转换成字节流,可以方便的存储到数据库中
	 * @author 张兴旺
	 * @date 2012-12-27
	 * @param file
	 * @return
	 */
	private static byte[] getByteFromFile(File file){
		if(file != null){
			int size = (int) file.length();
			FileInputStream fs = null;
			try {
				fs = new FileInputStream(file);
			} catch (FileNotFoundException e) {
				e.printStackTrace();
			}
			byte[] bts = null;
			if(size>0){
				bts = new byte[size];
				try {
					fs.read(bts);
				} catch (IOException e) {
					e.printStackTrace();
				}
				return bts;
			}
		}
		return null;
	}

}

分享到:
评论

相关推荐

    Java Swing组件文件选择器JFileChooser简单用法示例

    Java Swing组件文件选择器JFileChooser简单用法示例 ...JFileChooser是Java Swing中一个功能强大且灵活的文件选择器组件,我们可以通过它来选择文件或文件夹,并在实际开发中使用它来实现特定的功能。

    Java Swing 文件选择器

    总结来说,这个"Java Swing 文件选择器"的例子展示了如何利用`JFileChooser`组件在Java Swing应用中实现用户友好的文件选择功能。通过理解`JFileChooser`的工作原理和提供的各种配置选项,开发者可以轻松地集成文件...

    Swing Datepicker时间选择器jar包

    Swing Datepicker时间选择器是一个在Java Swing库中用于处理日期选择的组件,它提供了用户友好的界面,允许用户在应用程序中方便地选取日期。在Java编程中,Swing库是一个丰富的图形用户界面(GUI)工具包,它是Java ...

    swing打开文件选择器JFileChooser

    NULL 博文链接:https://happyqing.iteye.com/blog/2063990

    swing 日期选择控件

    2. `.jar`文件:编译后的库文件,用于在项目中引入日期选择器。 3. 图片资源:可能包括按钮、日历图标等,用于美化控件。 4. CSS或类似的样式表:定义控件的外观和主题。 5. 本地化文件:如果支持多语言,可能会有...

    基于Swing的文件操作

    通过使用Swing的组件,如`JFileChooser`,可以轻松实现文件选择,再配合`java.io`包的流处理类,实现文件的按字节合并。这种技术广泛应用于各种需要处理用户上传或下载文件的场景,为用户提供了一种直观且灵活的方式...

    Java文件选择器Java文件选择器Java文件选择器Java文件选择器

    此外,还解释了如何通过自定义`FileFilter`来限制文件选择器中显示的文件类型,以及如何响应用户的文件选择操作。这些技术在许多桌面应用程序中都非常有用,特别是那些需要频繁处理文件的应用程序。

    java swing 时间日期选择控件

    在压缩包的"swing 时间控件"中,可能包含了实现这些功能的示例代码、源文件或资源文件,可以帮助开发者快速理解和集成这些日期时间选择控件到自己的Swing应用中。通过研究这些文件,开发者可以学习如何自定义日期...

    Swing JAVA 文件比较 工具

    窗口内可能会有文件选择器组件(如JFileChooser)来让用户选择需要比较的文件,以及结果显示区域(如JTextArea或JTable)来展示比较结果。 文件比较通常涉及到读取文件内容,然后使用字符串比较算法,如逐行或逐...

    Swing 文件选择&按钮控件&弹出窗口

    在Java的Swing库中,开发用户界面时经常会用到文件选择、按钮控件和弹出窗口等功能。这些是构建图形用户界面(GUI)的基本组件,使得用户能够与应用程序进行交互。下面我们将深入探讨这些主题。 1. **文件选择**: ...

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

    在Java编程中,文件选择器(FileChooser)是一个非常实用的工具,它允许用户从本地文件系统中选择文件或目录。这个“有用的例子啊JAVA文件选择器”提供的示例代码可以帮助我们更好地理解如何在Java应用程序中集成...

    Swing 文件選擇器

    2. **设置当前目录**:通过调用`setCurrentDirectory()`方法,你可以指定文件选择器打开时显示的初始目录。如果不设置,默认会是用户的个人目录。 3. **文件过滤器**:`JFileChooser`支持文件过滤,可以通过`...

    Swing写的上传文件

    1. 文件选择器:Swing提供JFileChooser组件,允许用户选择本地文件或目录。用户可以通过点击文件选择对话框来浏览并选择要上传的文件。 2. 文件信息显示:在用户选择文件后,应用可能需要在界面上显示所选文件的...

    java swing实现pdf阅读器

    在Java Swing中实现PDF阅读器是一项技术挑战,涉及到对PDF文件格式的理解、IO操作、Swing组件的使用以及可能的第三方库集成。 PDF(Portable Document Format)是一种广泛使用的文件格式,用于存储文档,包括文本...

    java文件选择器

    ### Java Swing 文件选择器知识点详解 #### 一、概述 Java Swing 提供了一种非常方便的方式来让用户选择文件或目录,这主要通过 `JFileChooser` 类实现。`JFileChooser` 是一个标准的文件对话框,可以用来打开或者...

    Swing展示的文件系统树

    在Java的Swing库中,`JTree`组件是一个强大的工具,用于展示层次结构的数据,如文件系统目录结构。这个组件允许用户以图形化的方式浏览和操作这些数据,包括展开、折叠节点,以及选择和编辑特定节点。在"Swing展示的...

    基于java swing 的文件管理器.zip

    在文件管理器中,可能会有多个JPanel,分别用于显示目录树、文件列表以及操作按钮等。 4. **JTree**: JTree组件用于展示层次结构数据,例如文件系统的目录结构。用户可以通过展开、折叠节点来浏览文件夹。 5. **...

    Java文件选择器源代码

    Java文件选择器源代码是用于在Java应用程序中实现文件选择功能的代码片段或库。它通常包含一组类和方法,允许用户浏览并选择本地文件系统中的文件或目录,类似于操作系统提供的文件选择对话框。在Java中,我们可以...

    java文件选择器代码

    文件选择器是用户界面中的一个常用组件,用于让用户选择文件或目录。在Java中,`JFileChooser`类提供了文件选择的基本功能,可以通过继承或组合的方式定制自己的文件选择器。 #### 二、核心类和方法 1. **`...

    Swing文本编辑器

    在这个"Swing文本编辑器"项目中,我们将会探讨如何使用Swing来开发一个基本的文本编辑器。 Swing文本编辑器的核心组件是`JTextArea`,这是一个可以显示和编辑多行文本的组件。我们可以使用`JScrollPane`来包裹`...

Global site tag (gtag.js) - Google Analytics