当前位置:首页 » 编程语言 » 图片二进制转换java

图片二进制转换java

发布时间: 2023-06-29 10:13:24

1. java如何把图片转换成二进制并存到oracle的blob中,求代码

importjavax.imageio.ImageIO;
importjava.awt.image.BufferedImage;
importjava.io.ByteArrayInputStream;
importjava.io.ByteArrayOutputStream;
importjava.io.File;
importjava.io.IOException;


publicclassImageUtils{

publicstaticvoidmain(String[]args){
Stringstr=img2Binary("C:\Users\hny\Desktop\favicon.jpg");
System.out.println(str);
binary2Img("C:\Users\hny\Desktop\favicon2.jpg",str);
}

/**
*图片转二进制字符串
*
*@parampath图片路径
*@return
*/
publicstaticStringimg2Binary(Stringpath){
Filefile=newFile(path);
if(!file.exists()){
returnnull;
}

try{
BufferedImagebi=ImageIO.read(file);
ByteArrayOutputStreambaos=newByteArrayOutputStream();
Stringsuffix=getSuffix(path);
ImageIO.write(bi,suffix,baos);
byte[]bytes=baos.toByteArray();

returnnewsun.misc.BASE64Encoder().encodeBuffer(bytes).trim();
}catch(IOExceptione){
e.printStackTrace();
}
returnnull;
}

/**
*字符串转图片文件
*
*@parampath图片路径
*@paramimgBinary图片字符串
*/
publicstaticvoidbinary2Img(Stringpath,StringimgBinary){
try{
Filefile=newFile(path);

byte[]bytes1=newsun.misc.BASE64Decoder().decodeBuffer(imgBinary);
ByteArrayInputStreams=newByteArrayInputStream(bytes1);
BufferedImagebi1=ImageIO.read(s);
Stringsuffix=getSuffix(path);
ImageIO.write(bi1,suffix,file);
}catch(IOExceptione){
e.printStackTrace();
}
}

/**
*获取图片后缀名
*
*@parampath
*@return
*/
privatestaticStringgetSuffix(Stringpath){
intindex=path.contains(".")?path.lastIndexOf("."):-1;
if(index>-1){
returnpath.substring(index+1);
}
returnnull;
}
}

2. java把图片转换成二进制流

public static void main(String[] args) throws Exception {

File file = new File("d:\L.jpg");//图片

FileInputStream fis = new FileInputStream(file);//把图片变成流

FileOutputStream fos = new FileOutputStream(new File("E:\L.jpg")); //把图片流写入E盘

byte[] read = new byte[1024]; //每次读取的字节 可以自己定义 256 512 1024 2048 等。。。

int len = 0;

while((len = fis.read(read))!= -1){ //读取变成流的图片

fos.write(read,0,len);//写入图片

}

fis.close();//关闭输入流

fos.close();//关闭输出流

}

3. java 问题:怎样把一个bin二进制图片文件用java代码打开求解!

Java中可以用java.awt.Toolkit类打开gif,jpg,png三种类型的二进制图片文件,如果是其它类型的图片,需要转成上述格式的图片才行。

我给你一个例子你看看吧。

importjava.awt.Frame;

importjava.awt.Graphics;

importjava.awt.Image;

importjava.awt.Toolkit;

importjava.awt.event.WindowAdapter;

importjava.awt.event.WindowEvent;

{

=1L;

Imageim;

//构造函数

publicLoadFromAppli(){

//根据地址装入图片

im=Toolkit.getDefaultToolkit().getImage("bg.png");//bg.png处写你的图片的绝对或相对路径

//关闭窗口

addWindowListener(newWindowAdapter()

{

publicvoidwindowClosing(WindowEvente)

{

System.exit(0);

}

});

}

//在Frame上显示图片

publicvoidpaint(Graphicsg){

g.drawImage(im,0,0,this);

}

publicstaticvoidmain(String[]args){

LoadFromApplif=newLoadFromAppli();

f.setSize(200,200);

f.setVisible(true);

}

}

4. Java里谁能给我一个将图片转换成二进制在将二进制转换成图片的demo!!!

importjava.awt.image.BufferedImage;
importjava.io.ByteArrayInputStream;
importjava.io.ByteArrayOutputStream;
importjava.io.File;
importjava.io.IOException;

importjavax.imageio.ImageIO;

importsun.misc.BASE64Decoder;
importsun.misc.BASE64Encoder;

publicclassTestImageBinary{
staticBASE64Encoderencoder=newsun.misc.BASE64Encoder();
staticBASE64Decoderdecoder=newsun.misc.BASE64Decoder();

publicstaticvoidmain(String[]args){
System.out.println(getImageBinary());
base64StringToImage(getImageBinary());
}

staticStringgetImageBinary(){
Filef=newFile("c://a.jpg");
BufferedImagebi;
try{
bi=ImageIO.read(f);
ByteArrayOutputStreambaos=newByteArrayOutputStream();
ImageIO.write(bi,"jpg",baos);
byte[]bytes=baos.toByteArray();

returnencoder.encodeBuffer(bytes).trim();
}catch(IOExceptione){
e.printStackTrace();
}
returnnull;
}

staticvoidbase64StringToImage(Stringbase64String){
try{
byte[]bytes1=decoder.decodeBuffer(base64String);

ByteArrayInputStreams=newByteArrayInputStream(bytes1);
BufferedImagebi1=ImageIO.read(s);
Filew2=newFile("c://index//a.bmp");//可以是jpg,png,gif格式
ImageIO.write(bi1,"jpg",w2);//不管输出什么格式图片,此处不需改动
}catch(IOExceptione){
e.printStackTrace();
}
}

}

热点内容
怎么查身份证密码 发布:2025-04-22 23:12:07 浏览:206
如何用服务器跑github项目 发布:2025-04-22 23:10:55 浏览:947
ccs编译dsp程序的指令 发布:2025-04-22 23:06:42 浏览:368
映射盘符脚本 发布:2025-04-22 22:55:35 浏览:259
王者荣耀安卓系统怎么转换到苹果 发布:2025-04-22 22:53:29 浏览:986
emobile7服务器地址如何查看 发布:2025-04-22 22:32:51 浏览:763
房间的秘密码是什么 发布:2025-04-22 22:32:43 浏览:121
文件夹前面多了选择框 发布:2025-04-22 22:32:40 浏览:704
迅雷网ftp 发布:2025-04-22 22:30:02 浏览:622
鼠标驱动源码 发布:2025-04-22 22:29:55 浏览:768