文档章节

Java 文件和byte数组转换

forai
 forai
发布于 2016/10/28 10:04
字数 196
阅读 3
收藏 0
public class T3 {

	public static void main(String[] args){
		String filePath = "E:\\softoon\\workspace_softoon\\TestMobile\\src\\1.docx";
		String outFilePath = "E:\\softoon\\workspace_softoon\\TestMobile\\src";
		String outFileName = "2.docx";
		
		getFile(getBytes(filePath),outFilePath,outFileName);
	}

	/**
	 * 获得指定文件的byte数组
	 */
	public static byte[] getBytes(String filePath){
		byte[] buffer = null;
		try {
			File file = new File(filePath);
			FileInputStream fis = new FileInputStream(file);
			ByteArrayOutputStream bos = new ByteArrayOutputStream(1000);
			byte[] b = new byte[1000];
			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;
	}

	/**
	 * 根据byte数组,生成文件
	 */
	public static void getFile(byte[] bfile, 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+"\\"+fileName);
			fos = new FileOutputStream(file);
			bos = new BufferedOutputStream(fos);
			bos.write(bfile);
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			if (bos != null) {
				try {
					bos.close();
				} catch (IOException e1) {
					e1.printStackTrace();
				}
			}
			if (fos != null) {
				try {
					fos.close();
				} catch (IOException e1) {
					e1.printStackTrace();
				}
			}
		}
	}
}

© 著作权归作者所有

forai
粉丝 3
博文 31
码字总数 7456
作品 0
昆明
程序员
私信 提问
Java HexString-字节数组与十六进制字符数组转换

Java HexString-字节数组与十六进制字符数组转换 Java中byte(字节)用二进制表示占用8 bit (位),而我们知道16进制的每个字符需要用4位二进制位来表示,所以我们就可以把每个byte转换成两...

秋风醉了
2015/04/07
6.2K
0
php实现java的byte数组转换 附带java解密代码和php解密代码

php实现java的byte数组转换 由于工作需要,在网上找了个php实现java的byte数组转换的类。对照java的byte数组,发现两个结果是一致的,证明好使。附加上我的用php实现java附件解密代码 <?php ...

李佳顺
2014/01/03
47
0
C 和 Java 之间的byte数据的转换问题

C语言里通常可能开发人员直接定义struct 作为数据包, 因此在java客户端接收struct 中的数据时候,受整数等类型的高低位存放的影响, 需要进行相应的转换, 参考: http://www.ibm.com/developerw...

Simon253
2013/08/13
1K
0
Java类动态加载(二)——动态加载class文件

想要在jvm启动后,动态的加载class类文件,我们首先需要了解Instrumentation、Attach、Agent、VirtualMachine、ClassFileTransformer这几个类的用法和他们之间的关系。 Java的com.sun.tools...

2k10
2015/03/20
2.8K
0
JNI中jstring 与 const char* 相互转换函数

在平时的工作,经常用到jni和const类型转换。 //将const char类型转换成jstring类型 jstring CStr2Jstring( JNIEnv env, const char pat ) { //定义java String类 strClass jclass strClass......

jackxu2015
2015/08/14
294
0

没有更多内容

加载失败,请刷新页面

加载更多

3_数组

3_数组

行者终成事
56分钟前
7
0
经典系统设计面试题解析:如何设计TinyURL(二)

原文链接:https://www.educative.io/courses/grokking-the-system-design-interview/m2ygV4E81AR 编者注:本文以一道经典的系统设计面试题:《如何设计TinyURL》的参考答案和解析为例,帮助...

APEMESH
今天
7
0
使用logstash同步MySQL数据到ES

概述   在生成业务常有将MySQL数据同步到ES的需求,如果需要很高的定制化,往往需要开发同步程序用于处理数据。但没有特殊业务需求,官方提供的logstash就很有优势了。   在使用logstas...

zxiaofan666
今天
10
0
X-MSG-IM-分布式信令跟踪能力

经过一周多的鏖战, X-MSG-IM的分布式信令跟踪能力已基本具备, 特点是: 实时. 只有要RX/TX就会实时产生信令跟踪事件, 先入kafka, 再入influxdb待查. 同时提供实时sub/pub接口. 完备. 可以完整...

dev5
今天
7
0
OpenJDK之CyclicBarrier

OpenJDK8,本人看的是openJDK。以前就看过,只是经常忘记,所以记录下 图1 CyclicBarrier是Doug Lea在JDK1.5中引入的,作用就不详细描述了,主要有如下俩个方法使用: await()方法,如果当前线...

克虏伯
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部