精华内容
下载资源
问答
  • 数据库(MySql、oracle等)使用Blob数据类型存储图像,java(1.6)现在支持bmp,jpg, wbmp, png, gif格式的图像。1从数据库中Blob转为java程序中的Image类实体:java.sql.Blob blob = rs.getBlob("Logo");InputStream fin...

    数据库(MySql、oracle等)使用Blob数据类型存储图像,java

    (1.6)现在支持bmp,jpg, wbmp, png, gif格式的图像。

    1从数据库中Blob转为java程序中的Image类实体:

    java.sql.Blob blob = rs.getBlob("Logo");

    InputStream fin = blob.getBinaryStream();

    Image im = javax.imageio.ImageIO.read(fin);

    2从数据库中Blob转存为硬盘中的图像文件:

    java.sql.Blob blob = rs.getBlob("Logo");

    InputStream fin = blob.getBinaryStream();

    //用文件模拟输出流File file = new File("d:\\output.gif");

    OutputStream fout = new FileOutputStream(file);

    //将BLOB数据写入文件byte[] b = new byte[1024];

    int len = 0;

    while ((len = fin.read(b)) != -1) {

    fout.write(b, 0, len);

    }

    3将磁盘中图像文件存入数据库的BLOB字段中(使用Bytes):

    FileInputStream fis = new FileInputStream(“D:\\logo.gif”);

    byte[] b = new byte[65000];//限制图像体积小于65KB

    fis.read(b);

    rs.updateBytes("Logo", b);

    将Bytes数组转为Image:

    BufferedImage imag=ImageIO.read(new ByteArrayInputStream(bytearray));

    4将磁盘中文件转为java程序中的Image类实体

    Image image = Toolkit.getDefaultToolkit().getImage("D:\\logo.gif");或Image image = javax.imageio.ImageIO.read(new FileInputStream("D:\\logo.gif"));

    5将java程序中的Image类实体转为磁盘中文件

    Image image;

    .......

    BufferedImage bufferedImage = (BufferedImage) image;

    try {

    ImageIO.write(bufferedImage, "PNG", new File("d:\\yourImageName.PNG"));//输出到png文件ImageIO.write(bufferedImage, "JPEG", new File("d:\\yourImageName.JPG"));//输出到jpg文件ImageIO.write(bufferedImage, "gif", new File("d:\\yourImageName.GIF"));//输出到gif文件ImageIO.write(bufferedImage, "BMP", new File("d:\\yourImageName.BMP"));//输出到bmp文件} catch (IOException e) {

    e.printStackTrace();

    }

    6将java程序中的Image类实体转为Byte数值后,存入数据库Blob字段中:

    首先将Image实体转为BufferedImage,可以参考网上的程序,如

    http://www.a3gs.com/BookViews.asp?InfoID=3111&classID=953&InfoType=0

    Image image;.......

    BufferedImage bi=Converter.toBufferedImage(image);

    ByteArrayOutputStream baos=new ByteArrayOutputStream(1024);

    ImageIO.write(bi, "jpg", baos);

    baos.flush();

    String base64String=Base64.encode(baos.toByteArray());

    baos.close();

    byte[] b = Base64.decode(base64String);

    rs.updateBytes("Logo", b);

    7得到屏幕中的图像:

    robot = new Robot();

    BufferedImage bimage = robot.createScreenCapture(new Rectangle(0, 0, 100, 100));

    Image image=bimage;

    展开全文
  • package ...import java.io.BufferedOutputStream;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInpu...

    package com.yq1012.test;

    import java.io.BufferedOutputStream;

    import java.io.BufferedReader;

    import java.io.BufferedWriter;

    import java.io.ByteArrayOutputStream;

    import java.io.File;

    import java.io.FileInputStream;

    import java.io.FileNotFoundException;

    import java.io.FileOutputStream;

    import java.io.FileWriter;

    import java.io.IOException;

    import java.io.InputStream;

    import java.io.StringReader;

    import java.io.UnsupportedEncodingException;

    import org.apache.commons.codec.binary.Base64;

    public class TestFile {

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

    // http://lavasoft.blog.51cto.com/62575/131928/

    byte[] sfile = File2byte("D:\\7.jpg");

    Base64 base64 = new Base64();

    byte[] a = base64.encode(sfile);

    try {

    String str = new String(a, "utf-8");

    System.out.println("字符串长度:" + str.length());

    byte[] xml = str.getBytes("UTF-8");

    byte[] b = base64.decode(xml);

    byte2File(b, "c:\\", "7.jpg");

    } catch (UnsupportedEncodingException e) {

    e.printStackTrace();

    }

    }

    public static byte[] getBytesFromFile(File file) throws IOException {

    InputStream is = new FileInputStream(file);

    // 获取文件大小

    long length = file.length();

    if (length > Integer.MAX_VALUE) {

    // 文件太大,无法读取

    throw new IOException("File is to large " + file.getName());

    }

    // 创建一个数据来保存文件数据

    byte[] bytes = new byte[(int) length];

    // 读取数据到byte数组中

    int offset = 0;

    int numRead = 0;

    while (offset < bytes.length

    && (numRead = is.read(bytes, offset, bytes.length - offset)) >= 0) {

    offset += numRead;

    }

    // 确保所有数据均被读取

    if (offset < bytes.length) {

    throw new IOException("Could not completely read file "

    + file.getName());

    }

    // Close the input stream and return bytes

    is.close();

    return bytes;

    }

    public static byte[] File2byte(String filePath)

    {

    byte[] buffer = null;

    try

    {

    File file = new File(filePath);

    FileInputStream fis = new FileInputStream(file);

    ByteArrayOutputStream bos = new ByteArrayOutputStream();

    byte[] b = new byte[1024];

    int n;

    while ((n = fis.read(b)) != -1)

    {

    bos.write(b, 0, n);

    }

    fis.close();

    bos.close();

    buffer = bos.toByteArray();

    }

    catch (FileNotFoundException e)

    {

    e.printStackTrace();

    }

    catch (IOException e)

    {

    e.printStackTrace();

    }

    return buffer;

    }

    public static void byte2File(byte[] buf, String filePath, String fileName)

    {

    BufferedOutputStream bos = null;

    FileOutputStream fos = null;

    File file = null;

    try

    {

    File dir = new File(filePath);

    if (!dir.exists() && dir.isDirectory())

    {

    dir.mkdirs();

    }

    file = new File(filePath + File.separator + fileName);

    fos = new FileOutputStream(file);

    bos = new BufferedOutputStream(fos);

    bos.write(buf);

    }

    catch (Exception e)

    {

    e.printStackTrace();

    }

    finally

    {

    if (bos != null)

    {

    try

    {

    bos.close();

    }

    catch (IOException e)

    {

    e.printStackTrace();

    }

    }

    if (fos != null)

    {

    try

    {

    fos.close();

    }

    catch (IOException e)

    {

    e.printStackTrace();

    }

    }

    }

    }

    }

    展开全文
  • 本篇文章主要介绍了Java字节流与基本数据类型的转换实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • Java字节流转字节数组

    2020-09-07 15:07:48
    直接上代码: public static byte[] toByteArray(InputStream input) throws IOException { ByteArrayOutputStream output = new ByteArrayOutputStream(); byte[] buffer = new byte[1024*4];...

    直接上代码:

      public static byte[] toByteArray(InputStream input) throws IOException {
            ByteArrayOutputStream output = new ByteArrayOutputStream();
            byte[] buffer = new byte[1024*4];
            int n = 0;
            while (-1 != (n = input.read(buffer))) {
                output.write(buffer, 0, n);
            }
            return output.toByteArray();
        }
    
    展开全文
  • Java 字节流转字符流

    2021-11-20 17:10:30
    字节流转字符流 在平时可能会遇到,需要将 字节转换为字符的情况。 比如,爬虫爬取到 字节,需要将其转换为字符。 那么就会用到 转换。 基本思路就是: 字节流 的输入流,转换为 字符流的输入流 主要代码: ...

    字节流转字符流

    在平时可能会遇到,需要将 字节转换为字符的情况。

    比如,爬虫爬取到 字节,需要将其转换为字符。 那么就会用到 转换。

    基本思路就是:

    字节流 的输入流,转换为 字符流的输入流

    主要代码:

    FileInputStream fis = new FileInputStream(“E:\1\IO示例文档.txt”); // 把这个转换为字节流,当做例子用

    InputStreamReader isr = new InputStreamReader(从哪个地方获取的字节流,“UTF-8”); // 设置字符流的编码格式

    循环读取 看下面源码

    // 字节流转字符流
    package 转换;
    
    import Input.InputDemo;
    import 字符流.InputStream;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStreamReader;
    
    /**
     * @program: IO 流
     * @description: 字节转字符 和简单的字符转字节
     * @author: 白嫖怪AE
     * @create: 2021-11-20 16:55
     **/
    public class Demo {
        public static void main(String[] args) throws IOException {
            // 转换流
            // 字节流  '装饰' 为字符流。 因为计算机实际存储还是 字节
            //         实际的字节  可能来自不同地方,这里先假设 一个文档用来演示
            FileInputStream fis = new FileInputStream("E:\\1\\IO示例文档.txt");
            //将字节输入流,转换为字符输入流
            // 参数1. 要转换的字节流
            // 参数2. 指定编码名称
            InputStreamReader isr = new InputStreamReader(fis,"UTF-8");
            while(true){
                int c = isr.read();
                if (c == -1){break;}
                System.out.print((char)c);
            }
            System.out.println("\n转换结束");
            fis.close();
            isr.close();
        }
    }
    

    请添加图片描述

    展开全文
  • 字节流转字符串处理 public class ByteUtil { public static String byteBufferToString(ByteBuffer buffer) { CharBuffer charBuffer = null; try { Charset charset = Charset.forName("UTF-8"); ...
  • java 图片转字节流 字节流转图片

    千次阅读 2011-03-23 11:38:29
    最近做一个活动,需要上传logo并压缩图片到适合的尺寸,但是这次由于给予使用率不高,所以想把图片压缩存到数据库里面,然后再前台通过流将图片转换回来 主要使用了java的   &lt;dependency&gt;  &...
  • JAVA图片字节流的相互转换

    万次阅读 2019-01-16 22:41:43
    今天我们学习:java图片字节流的相互转换。 场景:用户端上传一个图片图片转换成字节流,字节流使用Base64编码,然后服务端收到Base64编码后的字符串,然后转换成图片,最终实现图片的传输。 为什么要...
  • 字节流转图片

    2020-09-16 09:48:59
    ```java try { FileImageOutputStream imageOutput = new FileImageOutputStream(new File("D:\\20-m2\\test.jpg")); imageOutput.write(busiLicensePhoto, 0, busiLicensePhoto.length); imageOutput.close(); ...
  • 输入/输出流体系中还提供了两个转换流,这两个转换流用于实现将字节流转换成字符流,其中InputStreamReader将字节输入流转换成字符输入流,OutputStreamWriter 将字节输出流转换成字符输出流。下面以获取键盘输入为...
  • java 字节与字符流,字符流转
  • Java实现字节流与图片的转化Java源码
  • java字节流转换成字符流-

    千次阅读 2018-04-12 12:43:03
    --------------------------------java字节流转换成字符流------------------------------- InputStreamReader是字节流通向字符流的桥梁。 范例:把从键盘输入的文本写入到文件中 public class ScannerDemo { ...
  • Java实现字节流与图片的转化
  • 最近,在研究图片转化为字节流以及字节流还原成图片的, 项目下载地址:http://download.csdn.net/detail/u010627840/9397506 代码如下: package com.mybatis.test; import java.io.File; import java.io....
  • 一实战——字节流是数字 ...import java.io.*; public class BufferDemo { public static void main( String args[] ) { BufferedReader buf = null; // System.in的类型为InputStream,它是字节流 //...
  • 字节流与字符流的区别?字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢?实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲...
  • private byte[] emfToPng(InputStream is){ // InputStream inputStream=null; byte[] by=null; EMFInputStream emf = null; ...//创建储存图片二进制流的输出流 ByteArrayOutputStream ba...
  • 字节流转字符流所使用的转换流为:InputStreamReader 字符流转字节流所使用的转换流为:OutputStreamWriter InputStreamReader的实例: import java.io.*; import java.lang.String; //字节流转字符流 转换流 ...
  • 本篇文章给大家详细讲述了Java字节与字符流永久存储json数据的方法,以及代码分享,有兴趣的参考学习下。
  • Java 字节流转化为文件

    千次阅读 2012-02-17 15:46:20
    已知:byte[] bytes=new FileToBytes().TurnBytes(); String btt=bytes.toString(); 上面是别人给的,转化为数组类型的二进制文件流。...下面我要实现的是,把二进制码转化为文件存储到指定的目录,代码实现如下:...
  • java的byte[]字节流转成文件

    万次阅读 2017-06-09 18:38:54
    * 将字节流转换成文件 * @param filename * @param data * @throws Exception */ public static void saveFile(String filename,byte [] data)throws Exception{ if(data != null){ String filepa
  • java 输入流转字节数组

    千次阅读 2021-02-26 16:33:55
    1、将File、FileInputStream 转换为byte数组:File file = new File("test.txt");InputStream input = new FileInputStream(file);byte[] byt = new byte[input.available()];input.read(byt);2、将byte数组转换为...
  • java 字节流转字符流

    千次阅读 2016-12-08 16:50:36
    1.文本是一种16位无符号整数,是字符unicode编码(双字节编码). 2.文件时byte byte byte ...的数据序列。 3.文本文件是 文本(char)序列按照某种编码方案(utf-8,gbk)序列化为byte的存储结果。 4. 字符流...
  • 原标题:java中如何将字节流转换成字符流最近有好多小伙伴问小编java编程中字节流转换成字符流的实现方法,为了解决大家的疑问,今天动力节点java学院小编将告诉大家java中如何将字节流转换成字符流?java编程中字...
  • Java中输入流转字节数组输入流转字节数组应用场景 输入流转字节数组 /** * @param is 输入流 * @return 将输入流转字节数组 */ public static byte[] streamToByte(InputStream is) { ...
  • 此方法接受字节数组,并将输入流的内容读取到给定的字节数组。示例importjava.io.BufferedInputStream;importjava.io.IOException;importjava.io.InputStream;publicclassStreamToByteArray{publicstaticvoid...
  • Java输入输出流class InputStreamReader extends Reader字节流转字符流使用类 InputStreamReader ,InputStreamReader 是字节流通向字符流的桥梁/**** 实现从键盘读取一行数据功能。** 读数据:输入流* 一行的数据==...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 25,226
精华内容 10,090
关键字:

java字节流转图片

java 订阅