资源简介
java 实现十六进制数转为图片实例,含代码和测试数据
代码片段和文件信息
package com.mybatis.test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class TestImage1 {
public static void main(String[] args) throws Exception {
/* byte[] b1 =image2Bytes(“d:\\1.jpg“);
// for(int i=0;i System.out.println();
FileOutputStream fos=new FileOutputStream(“d:\\image.txt“);
fos.write(b1);
fos.close();*/
FileInputStream fis=new FileInputStream(new File(“d:\\data.txt“));
char[] ch=new char[fis.available()];
System.out.println(fis.available());
int len=fis.available();
int j=0;
System.out.println();
for(int i=0;i int temp=fis.read();
char c=(char)temp;
if(temp!=32){
ch[j++]=c;
// System.out.print(c);
}
}
System.out.println();
System.out.println(new String(ch0j).length());
byte[] b=hexStringToBytes(new String(ch0j));
buff2Image(b“d:\\test.jpeg“);
fis.close();
}
static void buff2Image(byte[] bString tagSrc) throws Exception
{
FileOutputStream fout = new FileOutputStream(tagSrc);
//将字节写入文件
fout.write(b);
fout.close();
}
public static byte[] hexStringToBytes(String hexString) {
if (hexString == null || hexString.equals(““)) {
return null;
}
hexString = hexString.toUpperCase();
int length = hexString.length() / 2;
char[] hexChars = hexString.toCharArray();
byte[] d = new byte[length];
for (int i = 0; i < length; i++) {
int pos = i * 2;
d[i] = (byte) (charToByte(hexChars[pos]) << 4 | charToByte(hexChars[pos + 1]));
}
return d;
}
private static byte charToByte(char c) {
return (byte) “0123456789ABCDEF“.indexOf(c);
}
static byte[] image2Bytes(String imgSrc) throws Exception
{
FileInputStream fin = new FileInputStream(new File(imgSrc));
//可能溢出简单起见就不考虑太多如果太大就要另外想办法,比如一次传入固定长度byte[]
byte[] bytes = new byte[fin.available()];
//将文件内容写入字节数组,提供测试的case
fin.read(bytes);
fin.close();
return bytes;
}
public static String hexString2binaryString(String hexString)
{
if (hexString == null || hexString.length() % 2 != 0)
return null;
String bString = ““ tmp;
for (int i = 0; i < hexString.length(); i++)
{
tmp = “0000“
+ Integer.toBinaryString(Integer.parseInt(hexString
.substring(i i + 1) 16));
bString += tmp.substring(tmp.length() - 4);
}
return bString;
}
public static String binaryString2hexString(String bString)
{
if (bString == null || bString.equals(““) || bString.length() % 8 != 0)
return null;
StringBuffer tmp = new StringBuffer();
i
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 11600 2016-01-09 15:34 data.txt
文件 3458 2016-01-09 20:08 TestImage1.java
----------- --------- ---------- ----- ----
15058 2
- 上一篇:Jave万年历和时钟
- 下一篇:用Java实现语音引擎
相关资源
- 用Java实现语音引擎
- 用Java实现图形界面猜数字大小的游戏
- java银行帐目管理系统(源代码+论文)
- JAVA物业管理系统设计与实现(论文
- JAVA微信开发封装好的工具类及JAR包
- curljava_curljava
- java参考文献
- java android 调用webservice
- java扫雷代码详解
- mm1队列仿真
- NativeIO.java
- 用JAVA将数据库导入csv程序
- 用Java编写的拼图九宫格游戏
- JavaWeb项目:邮件收发系统
- 微信公众平台 JAVA开发代码实现菜单,
- JavaWeb聊天室毕设项目.txt
- java最小生成树动态演示
- JAVA web框架开发通过第三方支付公司与
- 推箱子java实现源码
- Java实现图结点着色图形化演示
- 网上购买的传智播客Java就业班之手机
- java实现小型图书管理系统
- 电器商城小系统 java
- 简单的人机对话java
- Java电子词典源程序
- java网络抓包(Jpcap0.7的教程 程序 源码
- java web 实现 调查问卷带数据库
- Java教学管理系统课程设计报告+源码
- JAVA MyLine
- 基于JAVA聊天系统的开题报告
评论
共有 条评论