将图片以二进制流添加进入数据库----将图片转化成二进制流

1.将图片转化为二进制流:通过FileInputStream完成

public static byte[] change_to_Stream(String path) {
        byte[] imageBytes = null;
    //在这里直接用try-with-resourse,可以不用手动关闭资源
try (FileInputStream fileInputStream = new FileInputStream(new File(path));) { imageBytes = new byte[fileInputStream.available()]; fileInputStream.read(imageBytes); } catch (IOException e) { e.printStackTrace(); } return imageBytes; }

2.将二进制流输出到图片中

public static void change_to_Image(byte[] imageBytes, String newPath) {
    //在这里直接用try-with-resourse,可以不用手动关闭资源
        try (FileOutputStream fileOutputStream = new FileOutputStream(new File(newPath));) {
            fileOutputStream.write(imageBytes);
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

3.测试可以直接在桌面创建一个2.txt然后修改成2.jpg

    public static void main(String[] args) throws IOException {
        String imagePath = "C:\\Users\\SJ676\\Desktop\\1.jpg";  //源图片的路径
        String desPath= "C:\\Users\\SJ676\\Desktop\\2.jpg";    //图片输出目的路径
        byte[] imageBytes = null;
        imageBytes = change_to_Stream(imagePath);          //将图片转化为二进制流,转化完了之后和源图片就没关系了
        change_to_Image(imageBytes, desPath);            //将二进制流转化到图片上
    }

4.实现设想:

  通过将图片转化为二进制之后,可以把这个二进制存进数据中,然后从数据库中取出来输出到要用的地方,

  那么问题来了,数据库怎么存二进制?

  欲知后事如何,请听下回分解

转载于:https://www.cnblogs.com/LinKinSJ/p/9212479.html

你可能感兴趣的:(数据库,java)