Java中File与byte[]的互转方式

 更新时间:2024年05月30日 15:08:53   作者:看你家猫  
这篇文章主要介绍了Java中File与byte[]的互转方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Java File与byte[]互转

1、File 转成 byte[]

public static byte[] getImageStream(String imageUrl, 
									HttpServletRequest request) {

	ServletContext application = request.getSession().getServletContext();
	String url = application.getRealPath("/")+imageUrl;
	byte[] buffer = null;
	File file = new File(url);
	FileInputStream fis;
	try {
		ByteArrayOutputStream bos = new ByteArrayOutputStream();
		fis = new FileInputStream(file);
	    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();
        if(file.exists()) {
        	 file.delete();
        }
	} catch (FileNotFoundException e) {
		e.printStackTrace();
	}catch (IOException e) {
		e.printStackTrace();
	}
	return buffer;
}

2、byte[] 转成 File

public static void readBin2Image(byte[] byteArray, String targetPath) {
	InputStream in = new ByteArrayInputStream(byteArray);
    File file = new File(targetPath);
    String path = targetPath.substring(0, targetPath.lastIndexOf("/"));
    if (!file.exists()) {
        new File(path).mkdir();
    }
    FileOutputStream fos = null;
    try {
        fos = new FileOutputStream(file);
        int len = 0;
        byte[] buf = new byte[1024];
        while ((len = in.read(buf)) != -1) {
            fos.write(buf, 0, len);
        }
        fos.flush();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if (null != fos) {
            try {
                fos.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

Java byte数组转换成0和1的二进制

可以使用以下代码将Java中的byte数组转换为0和1的二进制字符串:

byte[] bytes = ...; 
StringBuilder binary = new StringBuilder(); 
for (byte b : bytes) { 
    int val = b; 
    for (int i = 0; i < 8; i++) { 
        binary.append((val &amp; 128) == 0 ? 0 : 1); 
        val <<= 1; 
    } 
} 
System.out.println(binary.toStri

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • java实现简单超市管理系统

    java实现简单超市管理系统

    这篇文章主要为大家详细介绍了java实现简单超市管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-01-01
  • springAOP中用joinpoint获取切入点方法的参数操作

    springAOP中用joinpoint获取切入点方法的参数操作

    这篇文章主要介绍了springAOP中用joinpoint获取切入点方法的参数操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • Spring Boot将项目打包成war包的操作方法

    Spring Boot将项目打包成war包的操作方法

    这篇文章主要介绍了Spring Boot将项目打包成war包的操作方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-09-09
  • SpringBoot使用Maven打包异常-引入外部jar的问题及解决方案

    SpringBoot使用Maven打包异常-引入外部jar的问题及解决方案

    这篇文章主要介绍了SpringBoot使用Maven打包异常-引入外部jar,需要的朋友可以参考下
    2020-06-06
  • Java中的字符串替换3中实现总结

    Java中的字符串替换3中实现总结

    本文详细介绍了Java中字符串替换方法,包括replace()、replaceFirst()和replaceAll()的的使用方法和语法格式;并通过实例展示了如何使用这些方法进行字符串替
    2026-04-04
  • springboot如何使用MybatisPlus

    springboot如何使用MybatisPlus

    MyBatisPlus是一个强大的数据库操作框架,其代码生成器可以快速生成实体类、映射文件等,本文介绍了如何导入MyBatisPlus相关依赖,创建代码生成器,并配置数据库信息以逆向生成代码,感兴趣的朋友跟随小编一起看看吧
    2024-09-09
  • Java项目的目录结构详解

    Java项目的目录结构详解

    本文主要介绍了Java项目的目录结构详解,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • Spring Event观察者模式事件监听详解

    Spring Event观察者模式事件监听详解

    这篇文章主要介绍了Java Spring Event事件监听详情解析,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • Java8的default方法详细介绍

    Java8的default方法详细介绍

    这篇文章主要介绍了Java8的default方法,详细介绍了什么是default方法,在多继承时的处理等,需要的朋友可以参考下
    2014-04-04
  • 新手初学Java数组

    新手初学Java数组

    数组是相同类型数据的有序集合数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们数组的声明创建
    2021-07-07

最新评论