`

java以流的方式上传文件

    博客分类:
  • j2se
阅读更多

因为byte数组最大存储值不超过64M,所以当一个文件大于60M 的时候,需要分开几个流操作。以下程序就可以写入任意大小的文件。这个程序应用了FileInputStream类的方法如下:
read(byte[] b,int off,int len)
把特定位置的流内容读入数组,已经读入byte[]数组的内容,会在流文件中删除。
程序运行的结果会产生一个新文件。

package com.cz.test1;

import java.io.*;

public class IoUtill {

	public static void main(String[] args) throws IOException {

		// 创建两个文件
		File inFile = new File("F:\\1.bmp");

		File outFile = new File("E:\\2.jpg");

		// 最大的流为60Mb,当文件的容量大于60Mb的时候便分开流

		final int MAX_BYTE = 60000000;

		long streamTotal = 0; // 接受流的容量

		int streamNum = 0; // 流需要分开的数量

		int leave = 0; // 文件剩下的字符数

		byte[] inOutb; // byte数组接受文件的数据

		// 创建流文件读入与写出类

		FileInputStream inStream = new FileInputStream(inFile);

		FileOutputStream outStream = new FileOutputStream(outFile);

		// 通过available方法取得流的最大字符数

		streamTotal = inStream.available();

		// 取得流文件需要分开的数量

		streamNum = (int) Math.floor(streamTotal / MAX_BYTE);

		// 分开文件之后,剩余的数量

		leave = (int) streamTotal % MAX_BYTE;

		// 文件的容量大于60Mb时进入循环

		if (streamNum > 0) {

			for (int i = 0; i < streamNum; ++i) {

				inOutb = new byte[MAX_BYTE];

				// 读入流,保存在byte数组

				inStream.read(inOutb, 0, MAX_BYTE);

				outStream.write(inOutb); // 写出流

				outStream.flush(); // 更新写出的结果

			}

		}

		// 写出剩下的流数据

		inOutb = new byte[leave];

		inStream.read(inOutb, 0, leave);

		outStream.write(inOutb);

		outStream.flush();

		inStream.close();

		outStream.close();

	}

}

 

分享到:
评论

相关推荐

    java IO流方式上传下载文件,源代码

    Java IO流是Java平台中处理输入输出操作的核心机制,它为数据传输提供了高效且灵活的方式。在Java中,文件的上传和下载通常涉及到客户端与服务器之间的数据交换,而这正是IO流大显身手的地方。本篇文章将深入探讨...

    java实现上传文件类型检测过程解析

    Java 实现上传文件类型检测过程解析是指在进行文件上传时,对上传文件的格式进行控制,以防止黑客将病毒脚本上传。单纯的将文件名的类型进行截取的方式非常容易遭到破解,上传者只需要将病毒改换文件名便可以完成...

    java实现文件批量上传

    `javax.servlet.http.Part`接口提供了处理上传文件的方法。通常,我们使用Servlet 3.0及以上版本的API来处理这部分工作,因为它们对文件上传提供了更好的支持。 在EXT中,我们可以创建一个包含文件上传控件的表单。...

    Java以流的形式上传文件

    上传的形式有许多许多,这里给大家介绍一种以流的形式实现上传的方法实例,供大家学习参考

    java文件异步上传

    Java文件异步上传是一种在Web应用中常见的技术,它允许用户在不阻塞浏览器界面的情况下上传文件。这种技术尤其在处理大文件或者批量上传时,能够显著提升用户体验,因为它们不会冻结页面,允许用户继续与应用程序...

    java上传文件jar

    在Java开发中,上传文件是一项常见的任务,尤其是在构建Web应用程序时。标题提到的"java上传文件jar"实际上指的是两个关键的Java库,它们是Apache Commons IO和Apache Commons FileUpload。这两个库提供了强大的文件...

    JAVA文件I/O流上传类

    JAVA文件I/O流上传类 MyFileSeparate 文件上传

    java 上传文件,实时获取上传进度.

    - 文件大小限制:为了避免过大文件导致服务器资源耗尽,应设置上传文件大小的最大限制。 - 文件类型检查:确保上传的文件类型符合预期,防止恶意文件上传。 - 文件重命名:上传后的文件应进行重命名,防止路径...

    java读取图片文件流

    java读取本地图片文件获取流!java读取本地图片文件获取流!

    基于Java文件输入输出流实现文件上传下载功能

    本文将详细介绍基于Java文件输入输出流实现文件上传下载功能的相关知识点,包括文件上传和下载的实现原理、Java文件输入输出流的基础操作、Servlet的使用等。 文件上传 文件上传是指客户端将文件传输到服务器端的...

    java上传文件接口调用源码案例

    在Java编程中,文件上传是常见的任务之一,特别是...通过这个"java上传文件接口调用源码案例",我们可以学习到如何在Java环境中实现文件上传功能,这在开发Web应用、移动应用或者后端服务时都是一项基础且重要的技能。

    Java实现文件与图片的上传下载---三种方式

    在Java开发中,文件和图片的上传下载是常见的功能需求,尤其在Web应用中更为重要。本篇文章将详细探讨三种不同的实现方式,分别是使用JSP+Servlet、SmartUpload库以及Apache的FileUpload组件。 首先,我们来看第一...

    Java实现文件的上传

    - **struts.properties**:可能需要设置`struts.multipart.saveDir`属性,指定服务器上保存上传文件的临时目录。 5. **创建上传表单** 在HTML页面中,使用`&lt;input type="file"&gt;`标签创建文件选择字段。`enctype=...

    Java(Servlet)上传文件的demo

    本示例"Java(Servlet)上传文件的demo"提供了一个简单的文件上传功能,适用于初学者理解和实践。以下是对这个demo的详细解析: 1. **Servlet基本概念**: Servlet是一个Java类,遵循Servlet API规范,它扩展了...

    java文件上传源码

    一旦Servlet获取到上传的文件流,它会创建一个新的文件对象,然后使用`FileOutputStream`将文件流写入到服务器指定的目录。 在上传完成后,可能会有错误处理和日志记录,确保上传过程的可靠性。此外,安全性也是一...

    java IO流实例,包括文件的读写、上传和下载

    本实例主要探讨了如何使用Java IO流进行文件的读写、上传和下载,同时也涵盖了处理文本数据和音频文件等内容。 一、文件的读写 Java中的File类是文件操作的基础,它提供了创建、删除、重命名等基本功能。而IO流则...

    Java对Samba进行上传与下载文件-jcifs

    5. **关闭连接**:完成操作后,记得关闭打开的流并断开连接,以释放资源。 在实际应用中,"sambatest"可能是一个包含示例代码的项目,包括了具体的Samba文件上传和下载功能。这个项目可以作为学习和参考,帮助理解...

    java上传文件到服务器

    在Java编程中,上传文件到服务器是一项常见的任务,特别是在Web应用程序开发中。这个过程涉及到从客户端(通常是用户计算机上的本地文件系统)传输文件到服务器端(例如,Web服务器或者存储服务)。下面我们将深入...

    Java大文件上传

    在大文件上传的场景中,DWР可以通过异步的方式分块上传文件,避免了单个大文件一次性上传导致的浏览器内存占用过高或超时问题。 实现Java大文件上传通常需要以下几个关键步骤: 1. **前端界面**:首先,我们需要...

    java 导出csv文件并上传sftp

    CSV文件以其简洁、易读的特性,使得它们成为跨平台传输数据的理想选择。本篇文章将深入探讨如何使用univocity-parsers库来创建CSV文件,以及如何利用JSCH库将生成的CSV文件上传到SFTP(Secure File Transfer ...

Global site tag (gtag.js) - Google Analytics