`
小杨学JAVA
  • 浏览: 903909 次
  • 性别: 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文件到byte数组的三种方法(总结)

    本文将介绍三种读取Java文件到byte数组的方法,供开发者参考。 ### 方法一:传统IO方式 这种方法是最常见的读取文件的方式,使用`FileInputStream`、`BufferedInputStream`和`ByteArrayOutputStream`组合实现。 `...

    Java实现文件格式转换代码实例

    Java作为一种广泛使用的编程语言,提供了多种方式来实现文件格式的转换。本实例聚焦于Java如何实现AMR到MP3的转换,同时,该方法同样适用于其他类型的格式转换,如视频格式FLV转MP4。我们将探讨使用JAVE库、FTP协议...

    java 文件和byte互转的实例

    Java 文件和 Byte 互转实例详解 Java 中文件和 Byte 之间的互转是非常常见的操作,例如从文件中读取字节数据,或者根据字节数据生成文件。在本文中,我们将详细介绍 Java 中文件和 Byte 之间的互转的实例代码,以及...

    java 将文件中二进制文件转换成文本文本文件并输出

    在Java编程语言中,将二进制文件转换为文本文档通常涉及到字符编码的理解和处理。二进制文件可以包含任何类型的数据,如图像、音频、视频或纯文本,但以非可读格式存储。而文本文档通常使用特定的字符编码(如ASCII...

    java将m3u8格式转成视频文件的方法

    Java 将 M3U8 格式转成视频文件的方法 Java 是当前最流行的编程语言之一,广泛应用于 Android 和 Web 开发中。在视频处理方面,Java 也提供了强大的支持。M3U8 是一种广泛使用的视频流格式,经常用于直播和点播等...

    Java 类型相互转换byte[]类型,Blob类型详细介绍

    首先,`byte[]`是Java中的基本数据类型,用于存储和操作二进制数据,如图像、音频或任何其他非文本文件。而`Blob`是Java SQL API中的一个接口,用于表示数据库中的大对象,它可以存储任意长度的二进制数据。 **一、...

    java file,java读取txt文档

    在Java中,`java.io.File`类是用于操作文件和目录的基本工具。它可以用来创建、删除、重命名文件,以及获取文件的属性信息,如大小、路径、最后修改时间等。 要读取一个TXT文档,我们需要使用Java的I/O流。这里主要...

    InputStream与OutputStream及File间互转

    通过上述方法,开发者可以在处理Java I/O操作时灵活地在`InputStream`、`OutputStream`和`File`之间进行转换,从而实现各种文件读写和数据传输的需求。理解并熟练运用这些技巧是编写高效、健壮的Java程序的关键。

    java实现文件加密解密

    常规性文件操作会用到的类有五个:File、InputStream、OutputStream、FileInputStream、FileOutputStream,均包含在 java.io 下面。在使用前必须对类文件进行导入,方法为 import java.io.File。 在文件加密和解密...

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

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

    Java实现文件复制,File文件读取,写入,IO流的读取写入

    1. **Java文件复制** 文件复制通常涉及读取源文件内容并将其写入目标文件。在Java中,我们可以使用`java.io`包中的`BufferedReader`和`BufferedWriter`或者`FileInputStream`和`FileOutputStream`来实现。例如,...

    手机移动开发将byte数组写入文件的JAVA代码

    ### 手机移动开发将byte数组写入文件的JAVA代码详解 #### 一、知识点概述 在移动开发领域,特别是Android或J2ME等平台上,经常需要处理数据的读写操作,比如将从网络获取的数据保存到本地文件系统中。本篇文章主要...

    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 把PDF转换成BASE64

    Java中可以使用`java.io.File`和`java.nio.file.Files`类来实现这一操作。以下是一个简化的步骤: 1. **读取PDF文件**:使用`Files.readAllBytes()`方法读取PDF文件的全部内容到一个字节数组中。 ```java Path ...

    Java实现txt转pdf

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

    Java实现字节流与图片的转化

    在Java编程中,字节流(Byte Stream)是处理数据的基本方式,特别是在处理二进制数据,如图片、音频或视频文件时。本教程将详细讲解如何使用Java实现字节流来转换和处理图片。 首先,我们需要理解字节流的概念。在...

    java通过文件头内容判断文件类型

    在Java编程中,判断文件类型通常不是通过文件扩展名,而是通过读取文件的头部字节来识别。这是因为有些文件可能没有明确的扩展名,或者扩展名被恶意篡改。文件头内容通常包含特定的标识符,这些标识符是文件格式的...

    java文件操作总结

    Java文件操作是Java编程中必不可少的部分,它涵盖了创建、读取、写入、删除以及管理文件和目录的各种功能。在Java中,文件操作主要通过java.io包中的类和接口实现。下面将对Java文件操作进行详细的总结,并提供相关...

Global site tag (gtag.js) - Google Analytics