资源简介
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源码,servlet+jsp),适
- java串口通信全套完整代码-导入eclip
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
评论
共有 条评论