图片或音源变为字节

package mms;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.OutputStream;

import sun.misc.BASE64Decoder;

public class Base64Image {
	
	public static byte[] getPicByte(String picPath) { 
		try {  
            FileInputStream fileForInput = new FileInputStream(picPath);  
            byte[] bytes = new byte[fileForInput.available()];  
            if(bytes.length<102400){  
                System.out.println(bytes.length);  
            }  
            fileForInput.read(bytes);  
       
            fileForInput.close();  
            return bytes;
        } catch (Exception e) {  
            e.printStackTrace();  
            return null;
        }  
	}
	
	public static String getPicBASE64(String picPath) {  
       // String picPath = "1400650615953.gif";  
        String content = "";  
        try {  
            FileInputStream fileForInput = new FileInputStream(picPath);  
            byte[] bytes = new byte[fileForInput.available()];  
            if(bytes.length<102400){  
                System.out.print(bytes.length);  
            }  
            fileForInput.read(bytes);  
        content = new sun.misc.BASE64Encoder().encode(bytes); // 具体的编码方法  
            fileForInput.close();  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
        return content;  
    }  
	
	public static String toImageBASE64(String str){
		String fileName = "D:\\logs\\aa.png";        
		BASE64Decoder decoder = new BASE64Decoder();  
		            try {  
		                // Base64解码  
		                byte[] bytes = decoder.decodeBuffer(str);  
		                for (int i = 0; i < bytes.length; ++i) {  
		                    if (bytes[i] < 0) {// 调整异常数据  
		                        bytes[i] += 256;  
		                    }  
		                }  
		                // 生成图片  
		                OutputStream outs = new FileOutputStream(fileName);  
		                outs.write(bytes);  
		                outs.flush();  
		                outs.close();  
		                
		            } catch (Exception e) {  
		                    e.printStackTrace();
		                    return null;  
		            }  
		            return fileName;  
	}

	/**
	 * 方法用途和描述: XXXXXXX(可以分多行编写)
	 * @param args
	 * @author zhangjh 新增日期:May 21, 2014
	 * @since msdl-test
	 */
	public static void main(String[] args) {
		Base64Image test = new Base64Image();
		String str = test.getPicBASE64("1400650615953.gif");
		System.out.println("str:"+str);
		String filePath = test.toImageBASE64(str);
		System.out.print("filePath:"+filePath);
	}

}



package mms;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.OutputStream;

import sun.misc.BASE64Decoder;

public class Base64Music {
	public static byte[] getAmrByte(String filePath) {  
        //String picPath = "1397116493329.amr";  
        try {  
            FileInputStream fileForInput = new FileInputStream(filePath);  
            byte[] bytes = new byte[fileForInput.available()];  
            if(bytes.length<102400){  
                System.out.println(bytes.length);  
            }  
            fileForInput.read(bytes);  
            fileForInput.close();  
            return bytes;
        } catch (Exception e) {  
            e.printStackTrace();  
            return null;
        }  
    }  
	
	public static String getAmrBASE64() {  
        String picPath = "1397116493329.amr";  
        String content = "";  
        try {  
            FileInputStream fileForInput = new FileInputStream(picPath);  
            byte[] bytes = new byte[fileForInput.available()];  
            if(bytes.length<102400){  
                System.out.print(bytes.length);  
            }  
            fileForInput.read(bytes);  
        content = new sun.misc.BASE64Encoder().encode(bytes); // 具体的编码方法  
            fileForInput.close();  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
        return content;  
    }  
	
	public static String toAmrBASE64(String str){
		String fileName = "D:\\logs\\aa.amr";        
		BASE64Decoder decoder = new BASE64Decoder();  
		            try {  
		                // Base64解码  
		                byte[] bytes = decoder.decodeBuffer(str);  
		                for (int i = 0; i < bytes.length; ++i) {  
		                    if (bytes[i] < 0) {// 调整异常数据  
		                        bytes[i] += 256;  
		                    }  
		                }  
		                // 生成图片  
		                OutputStream outs = new FileOutputStream(fileName);  
		                outs.write(bytes);  
		                outs.flush();  
		                outs.close();  
		                
		            } catch (Exception e) {  
		                    e.printStackTrace();
		                    return null;  
		            }  
		            return fileName;  
	}

	/**
	 * 方法用途和描述: XXXXXXX(可以分多行编写)
	 * @param args
	 * @author zhangjh 新增日期:May 21, 2014
	 * @since msdl-test
	 */
	public static void main(String[] args) {
		Base64Music test = new Base64Music();
		String str = test.getAmrBASE64();
		System.out.println("str:"+str);
		String filePath = test.toAmrBASE64(str);
		System.out.print("filePath:"+filePath);
	}

}

猜你喜欢

转载自yuky1327.iteye.com/blog/2069191