`
小杨学JAVA
  • 浏览: 885745 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Java文件File转byte[]

 
阅读更多
// 转:http://forai.iteye.com/blog/1221081
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();
				}
			}
		}
	}
}

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();
				}
			}
		}
	}
//转:http://blog.csdn.net/commonslok/article/details/9493531

以下是fileUpload.jar写法

DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setHeaderEncoding("utf-8");
String enCoding = request.getCharacterEncoding();
if(enCoding != null){
 upload.setHeaderEncoding(enCoding);
			}

			
			List fileItems = upload.parseRequest(request);
			Iterator iter = fileItems.iterator();

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    java-文件工具,可以查看文件类型,文件魔数,可以判断是否是视频文件,音乐文件,图片文件等等

    java文件的工具类,封装了常用的操作,尤其针对文件的实际类型,通过获取文件的byte,来查看文件起始字节的魔数值,通过魔数值来判断文件的类型,工具集合了常用的文件类型对应的魔数,也封装了文件类型的判断方法

    Java文件处理工具类--FileUtil

    * Read content from local file to binary byte array. * * @param fileName - * local file name to read * @return * @throws Exception */ public static byte[] readFileBinary(String ...

    Java:二进制方式读取文件

    import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class FileOperation { public static void...

    文件转换为二进制流

    文本字符串与byte[], 整个物理文件与byte[], 物理文件内容与byte[], stream与byty[] 之间的相互转换。 从磁盘读取文件,将文件写入磁盘。

    Java计算文件MD5值(支持大文件)

    Java计算文件MD5值(支持大文件) package com.hthl.xxtd; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.security.MessageDigest; import org....

    java压缩文件源码--ZipUtils

    FileOutputStream fos = new FileOutputStream(getFileName(file.getPath())+File.separator+newDir(file, entry.getName())); dest = new BufferedOutputStream(fos, BUFFER); while((count = zis...

    java文件保存对话框

    InputStream inputStream = conn.... byte[] getData = readInputStream(inputStream, type); // 获得图片的二进制数据 zipOut.putNextEntry(new ZipEntry(stc)); zipOut.write(getData); zipOut.closeEntry();

    文件加密解密算法(Java源码)

    文件加密解密算法(Java源码) java,file,算法,加密解密,java源码 package com.crypto.encrypt; import java.security.SecureRandom; import java.io.*; import javax.crypto.spec.DESKeySpec; import javax.crypto...

    Java处理Webp图片格式转换的示例代码

    主要介绍了Java处理Webp图片格式转换的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    java文件操作的工具类

    此文档为java中操作File对象的一个通用工具类,包含了byte数组和File类的相互转换

    Java实现txt转pdf

    Java实现txt转pdf完整demo,开箱即用。 // 读取TXT文件 FileInputStream inputStream = new FileInputStream(new File(inputTxtFile)); byte[] inputBytes = new byte[inputStream.available()]; inputStream....

    TestFile.java

    java 图片文件,与 byte[] 互转

    java中实现复制文件和文件夹

    java中实现复制文件和文件夹 public static void copyFile(File sourceFile,File targetFile) throws IOException{ // 新建文件输入流并对它进行缓冲 FileInputStream input = new FileInputStream(sourceFile)...

    Java仿Windows 窗口化复制文件功能.rar

    Java仿Windows 窗口化复制文件功能,  class SelectFileListener implements ActionListener { //取得目录内容的事件处理   public void actionPerformed(ActionEvent event) {   if (fileChooser....

    图片文件上次,获取图片文件实际类型

    import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java....

    Java网络编程-Socket-文件传输小案例

    if (FileSize == 0) { ///如果减到0了,说明文件块已经收全了,可以关闭文件了。 for (int i = 0; i ; i++) { //根据文件块个数循环将临时文件写入正式文件 raf.seek( (util.getBlockSize() + 4) * i); Block...

    JavaNIO内存文件系统ParallelGit.zip

    ParallelGit 是为 Git 应用准备的高性能 Java NIO 内存文件系统。ParallelGit 是基于 JGit 构建的, 可以帮助 Java 项目快速的访问 Git 文件。ParallelGit 可以帮助你操作本地 Git仓库,允许你通过 Java 7 nio 文件...

    okio-1.6.0.jar

    网络请求时需要依赖okio.jar这个包,不然出现:Exception in thread "main" java.lang.NoClassDefFoundError: okio/ByteString

    Java压缩带有中文名的文件.rar

    Java压缩中文名的文件,大家都知道Java处理英文名的文件很强大,但是处理起中文名那可是比较麻烦了,需要经过很多步骤,这个例子可以告诉你如何简易的处理中文文件名的文件,以压缩中文文件名的文件为例。...

Global site tag (gtag.js) - Google Analytics