`
yuky1327
  • 浏览: 125650 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论

图片或音源变为字节

    博客分类:
  • Java
 
阅读更多
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);
	}

}

分享到:
评论

相关推荐

    Kontakt音源 图片

    在文件名称列表中提到的"Kontakt音源 图片",可能是指包含这些音源的相关图片资料,如使用教程中的步骤截图、音色库的展示图片,或者是用于演示音色效果的音频文件图标。这些图片资源对于理解如何使用特定的Kontakt...

    kontakt音源图片

    当用户需要某种特定的音色或效果时,通过查看预设展示的图片,可以迅速定位到可能符合需求的音源,从而在实际操作中有的放矢。此外,界面截图所展示的控制旋钮和滑块,能够帮助用户快速调整参数,以获得理想的音效,...

    洛雪音源示例模板lx-music-source-example

    洛雪音源示例模板 洛雪音源示例模板 洛雪音源示例模板 洛雪音源示例模板 洛雪音源示例模板 洛雪音源示例模板 洛雪音源示例模板 洛雪音源示例模板 洛雪音源示例模板 洛雪音源示例模板 洛雪音源示例模板 洛雪音源示例...

    落雪音乐自定义音源切换

    在IT行业中,音频播放软件是不可或缺的一部分,而“落雪音乐自定义音源切换”则是一种为用户提供个性化音乐体验的功能。这个功能允许用户根据自己的需求和网络条件选择不同的音源,确保音乐播放的流畅性和质量。下面...

    LX Music-洛雪APP1.20版音源

    在这个版本中,开发者可能对音源接口进行了升级或优化,导致旧的音源配置无法正常工作。"24年以前的音源"这个描述可能是指那些较早的、非官方的或者是不符合新版本要求的音乐资源链接,这些链接在LX Music 1.20中...

    UTAU诸葛孔明音源

    在音乐创作领域,这种音源被广泛用于制作虚拟偶像或电子音乐作品。 诸葛孔明音源的使用方法非常简单,一旦下载并解压缩,你只需要将包含的文件拖放到UTAU安装目录下的"voice"文件夹内。这一步骤至关重要,因为UTAU...

    洛雪音乐助手 自定义音源

    洛雪音乐助手 自定义音源

    洛雪音乐助手自定义音源 v1.1.0 下载后请先解压

    这个文件很可能是用于更新或扩展音乐助手的自定义音源代码。JavaScript(JS)是一种广泛应用于网页和网络应用的编程语言,这里的.js文件可能包含了一些自定义音源的配置或者脚本,用来实现与不同音乐平台的交互。 ...

    【新葛平】音源1.0 beta下载

    下载这个beta版本的音源后,用户可能需要将其导入到支持音源的软件中,通过调整参数、混合音轨或应用效果来创作自己的音乐或音效。在测试期间,用户反馈对于产品的改进至关重要,可以帮助开发者识别并修复问题,提升...

    洛雪音乐助手 - 六音音源接口

    洛雪音乐助手 — 六音音源接口目前比较热门的第三方音乐源就是六音音源,我们只需要在洛雪音乐客户端,设置-&gt;基本设置-&gt;音乐来源-&gt;自定义源管理-&gt;导入六音源,洛雪音乐助手即可满血复活。洛雪音乐助手本身也只是一个...

    落雪可用音源,切用且珍惜,自觉使用

    落雪可用音源,切用且珍惜,自觉使用,不要批量下载音乐,不要批量下载音乐,不要批量下载音乐。可选两种音源,直接导入落雪即可,落雪下载地址,https://github.com/lyswhut/lx-music-desktop#readme。下载最新版...

    洛雪音乐助手自定义音源 v1.0.7 下载后请先解压

    2. **自定义音源**:这是洛雪音乐助手的一个重要功能,允许用户根据自己的喜好或特定需求添加个性化的音乐源。这些音源可以是网络上的公开音乐库,也可以是用户自己收集的私有音乐库,为用户提供了一种高度自由的...

    100HZ~10K频率测试音源

    通过使用100HZ~10K频率测试音源,开发者和用户可以确保手机扬声器、耳机插孔或蓝牙音频的性能达到标准。 在压缩包内的"Different_frequency_test audio_source"文件很可能包含了不同频率的音频样本,用于逐个测试...

    ERROR音源.zip

    在IT行业中,音频处理是一个重要的领域,而"ERROR音源.zip"这个文件名可能暗示了某种与音频错误或问题相关的资源集合。这个压缩包可能是包含了若干音频文件,或者是修复音频错误的工具,教程,或者是一些示例文件,...

    PC音源发生软件

    4. **声卡检测**:在音响系统维护或调试中,音源发生软件可帮助识别声卡的问题。通过播放已知频率的声音,可以检测声卡是否正确地产生和传输特定频率的音频,从而找出可能出现的失真、噪声或其他问题。 5. **功放...

    【老八音源】LaoBa.zip

    【老八音源】LaoBa.zip 这个压缩包文件显然包含了与“老八”相关的音频资源,可能是一个音乐制作人、乐队、歌手或播客的音源集合。音源在IT行业中通常指的是原始的声音素材,可以是乐器演奏、人声录制、环境声音等,...

    实用的钢琴小音源软件

    总的来说,"实用的钢琴小音源软件"是音乐制作人不可或缺的工具,它通过模拟真实钢琴音色,配合 MIDI 制作,能帮助创作出丰富的音乐作品,而且在内存占用方面表现出色,非常适合家庭工作室或专业音乐人的日常使用。...

    音频1KHz测试音源

    音频1KHz测试音源是音频工程师、音响爱好者和听力测试人员常用的工具,主要用于检查音频设备的性能、频率响应和系统设置。这个测试音源通常是一个纯正的单音信号,频率固定在1千赫兹(1KHz),在音频领域,这个频率...

    FOOBAR2000用土星音源插件

    标题:“FOOBAR2000用土星音源插件”指的是将土星(Saturn)音源引入到音乐播放器FOOBAR2000中的一种技术扩展。FOOBAR2000是一款高度自定义且功能强大的音频播放软件,受到许多音乐爱好者的青睐。通过安装特定的插件...

    二胡音源 插件

    二胡音源 插件

Global site tag (gtag.js) - Google Analytics