`
suko
  • 浏览: 73852 次
  • 性别: Icon_minigender_1
  • 来自: 富安
社区版块
存档分类
最新评论
收藏列表
标题 标签 来源
java图片二进制互转 Java 将图片转二进制再将二进制转成图片
import java.awt.image.BufferedImage;    
import java.io.ByteArrayInputStream;    
import java.io.ByteArrayOutputStream;    
import java.io.File;    
import java.io.IOException;    
   
import javax.imageio.ImageIO;    
   
import sun.misc.BASE64Decoder;    
import sun.misc.BASE64Encoder;    
   
public class TestImageBinary {    
    static BASE64Encoder encoder = new sun.misc.BASE64Encoder();    
    static BASE64Decoder decoder = new sun.misc.BASE64Decoder();    
        
    public static void main(String[] args) {    
        System.out.println(getImageBinary());    
            
        base64StringToImage(getImageBinary());    
    }    
        
    static String getImageBinary(){    
        File f = new File("c://20090709442.jpg");           
        BufferedImage bi;    
        try {    
            bi = ImageIO.read(f);    
            ByteArrayOutputStream baos = new ByteArrayOutputStream();    
            ImageIO.write(bi, "jpg", baos);    
            byte[] bytes = baos.toByteArray();    
                
            return encoder.encodeBuffer(bytes).trim();    
        } catch (IOException e) {    
            e.printStackTrace();    
        }    
        return null;    
    }    
        
    static void base64StringToImage(String base64String){    
        try {    
            byte[] bytes1 = decoder.decodeBuffer(base64String);    
                
            ByteArrayInputStream bais = new ByteArrayInputStream(bytes1);    
            BufferedImage bi1 =ImageIO.read(bais);    
            File w2 = new File("c://QQ.bmp");//可以是jpg,png,gif格式    
            ImageIO.write(bi1, "jpg", w2);//不管输出什么格式图片,此处不需改动    
        } catch (IOException e) {    
            e.printStackTrace();    
        }    
    }    
   
} 
Java swing 查询数据库并且直接显示 swing Java swing 查询数据库并且直接显示
package db;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextArea;

public class InnerShow extends JFrame {
	
	private Connection conn; 
	private Statement statement; 
	private ResultSet resultSet;
	
	//GUI变量定义
	private JTable table; 
	private JTextArea inputQuery; 
	private JButton submitQuery; 

	@SuppressWarnings("deprecation")
	public InnerShow() {
		
		//Form的标题
		super( "输入SQL语句,按查询按钮查看结果。" ); 
		
//		String url = "jdbc:mysql://localhost:3306/studentManager?useUnicode=true&characterEncoding=UTF-8";
		
		String url = "jdbc:mysql://localhost:3306/ssms?useUnicode=true&characterEncoding=UTF-8";
		
		String username = "root";
		String password = "789+"; 
		
		//加载驱动程序以连接数据库
		try {
			Class.forName( "com.mysql.jdbc.Driver" );
			conn = DriverManager.getConnection(url, username, password);
		}catch ( ClassNotFoundException cnfex ) { //捕获加载驱动程序异常
			System.err.println("装载 JDBC/ODBC 驱动程序失败。" );
			cnfex.printStackTrace(); 
			System.exit( 1 ); // terminate program 
		}catch ( SQLException sqlex ) { //捕获连接数据库异常
			System.err.println( "无法连接数据库" ); 
			sqlex.printStackTrace(); 
			System.exit( 1 ); // terminate program 
		} 
		
		//如果数据库连接成功,则建立GUI
		//SQL语句
		String test = "SELECT * FROM department"; 
		inputQuery  = new JTextArea( test, 4, 30 ); 
		submitQuery = new JButton( "查询" ); 
		
		//Button事件
		submitQuery.addActionListener( new ActionListener() {
			public void actionPerformed( ActionEvent e ){ 
				getTable();
			}
		}); 
		
		JPanel topPanel = new JPanel(); 
		topPanel.setLayout( new BorderLayout() ); 
		
		//将"输入查询"编辑框布置到 "CENTER"
		topPanel.add( new JScrollPane( inputQuery), BorderLayout.CENTER ); 
		
		//将"提交查询"按钮布置到 "SOUTH"
		topPanel.add( submitQuery, BorderLayout.SOUTH ); 
		table = new JTable(); 
		Container c = getContentPane(); 
		c.setLayout( new BorderLayout() ); 
		
		//将"topPanel"编辑框布置到 "NORTH"
		c.add( topPanel, BorderLayout.NORTH ); 
		
		//将"table"编辑框布置到 "CENTER"
		c.add( table, BorderLayout.CENTER ); 
		getTable(); 
		setSize( 500, 300 ); 
		
		//显示Form
		show(); 
	} 

	private void getTable(){
		
		try { 
			//执行SQL语句
			String query = inputQuery.getText(); 
			statement = conn.createStatement(); 
			resultSet = statement.executeQuery( query ); 
			
			//在表格中显示查询结果
			displayResultSet( resultSet ); 
		}catch ( SQLException sqlex ) { 
			sqlex.printStackTrace(); 
		} 
	} 
	
	@SuppressWarnings({ "rawtypes", "unchecked" })
	private void displayResultSet( ResultSet rs ) throws SQLException { 
		
		//定位到达第一条记录
		boolean moreRecords = rs.next(); 
		
		//如果没有记录,则提示一条消息
		if ( ! moreRecords ) { 
			JOptionPane.showMessageDialog( this, "结果集中无记录" ); 
			setTitle( "无记录显示" ); 
			return; 
		} 
		
		Vector columnHeads = new Vector(); 
		Vector rows = new Vector(); 
		
		try { 
			//获取字段的名称
			ResultSetMetaData rsmd = rs.getMetaData(); 			
			
			for ( int i = 1; i <= rsmd.getColumnCount(); ++i ) 
				columnHeads.addElement( rsmd.getColumnName( i ) );
			
			//获取记录集
			do {
				rows.addElement( getNextRow( rs, rsmd ) ); 
			} while ( rs.next() ); 
			
			//在表格中显示查询结果
			table = new JTable( rows, columnHeads ); 
			JScrollPane scroller = new JScrollPane( table ); 
			Container c = getContentPane(); 
			c.remove(1); 
			c.add( scroller, BorderLayout.CENTER ); 
			
			//刷新Table
			c.validate();
		}catch ( SQLException sqlex ) { 
			sqlex.printStackTrace(); 
		} 
	}
	
	@SuppressWarnings({ "rawtypes", "unchecked" })
	private Vector getNextRow( ResultSet rs, ResultSetMetaData rsmd )throws SQLException{
		Vector currentRow = new Vector(); 
		
		for ( int i = 1; i <= rsmd.getColumnCount(); ++i )
			currentRow.addElement( rs.getString( i ) ); 
		
		//返回一条记录 
		return currentRow; 
	} 

	public void shutDown() {
		
		try {
			//断开数据库连接
			conn.close(); 
		}catch ( SQLException sqlex ) {
			System.err.println( "Unable to disconnect" );
			sqlex.printStackTrace();
		}
	} 

	public static void main( String args[] ){
		
		final InnerShow app = new InnerShow(); 
		
		app.addWindowListener( new WindowAdapter() {
			public void windowClosing( WindowEvent e ){
				app.shutDown();
				System.exit( 0 ); 
			}
		});
	}
} 
Global site tag (gtag.js) - Google Analytics