因为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以流的形式上传文件 在现代软件开发中,文件上传是常见的功能之一,尤其是在Web应用中。本文将详细介绍如何使用Java通过流的形式实现文件上传,并解析提供的代码示例。 #### 流的概念 在Java中,流...
Java IO流是Java平台中处理输入输出操作的核心机制,它为数据传输提供了高效且灵活的方式。在Java中,文件的上传和下载通常涉及到客户端与服务器之间的数据交换,而这正是IO流大显身手的地方。本篇文章将深入探讨...
Java 实现上传文件类型检测过程解析是指在进行文件上传时,对上传文件的格式进行控制,以防止黑客将病毒脚本上传。单纯的将文件名的类型进行截取的方式非常容易遭到破解,上传者只需要将病毒改换文件名便可以完成...
`javax.servlet.http.Part`接口提供了处理上传文件的方法。通常,我们使用Servlet 3.0及以上版本的API来处理这部分工作,因为它们对文件上传提供了更好的支持。 在EXT中,我们可以创建一个包含文件上传控件的表单。...
Java文件异步上传是一种在Web应用中常见的技术,它允许用户在不阻塞浏览器界面的情况下上传文件。这种技术尤其在处理大文件或者批量上传时,能够显著提升用户体验,因为它们不会冻结页面,允许用户继续与应用程序...
在Java开发中,上传文件是一项常见的任务,尤其是在构建Web应用程序时。标题提到的"java上传文件jar"实际上指的是两个关键的Java库,它们是Apache Commons IO和Apache Commons FileUpload。这两个库提供了强大的文件...
JAVA文件I/O流上传类 MyFileSeparate 文件上传
java读取本地图片文件获取流!java读取本地图片文件获取流!
本篇文章将详细探讨如何使用Java实现本地文件监听,并自动将其上传至服务器,以实现文件同步功能。 首先,让我们从“JAVA 监听文件夹变化”这个知识点开始。Java提供了一种称为`WatchService`的机制,它允许程序...
- 文件大小限制:为了避免过大文件导致服务器资源耗尽,应设置上传文件大小的最大限制。 - 文件类型检查:确保上传的文件类型符合预期,防止恶意文件上传。 - 文件重命名:上传后的文件应进行重命名,防止路径...
在Java编程中,文件上传是常见的任务之一,特别是...通过这个"java上传文件接口调用源码案例",我们可以学习到如何在Java环境中实现文件上传功能,这在开发Web应用、移动应用或者后端服务时都是一项基础且重要的技能。
本文将详细介绍基于Java文件输入输出流实现文件上传下载功能的相关知识点,包括文件上传和下载的实现原理、Java文件输入输出流的基础操作、Servlet的使用等。 文件上传 文件上传是指客户端将文件传输到服务器端的...
`upload_file1`方法用于上传文件,第一个参数是本地文件路径,第二个参数是文件扩展名,第三个参数通常为null,表示不进行文件元数据的设置。 上传成功后,FastDFS会返回一个全局唯一标识符(Global ID),这个ID由...
5. **文件上传**:使用`storeFile()`方法上传文件。你需要提供远程文件路径和一个InputStream,这个InputStream通常来自本地文件。 ```java File localFile = new File("C:\\local\\file.txt"); InputStream in = ...
在Java开发中,文件和图片的上传下载是常见的功能需求,尤其在Web应用中更为重要。本篇文章将详细探讨三种不同的实现方式,分别是使用JSP+Servlet、SmartUpload库以及Apache的FileUpload组件。 首先,我们来看第一...
- **struts.properties**:可能需要设置`struts.multipart.saveDir`属性,指定服务器上保存上传文件的临时目录。 5. **创建上传表单** 在HTML页面中,使用`<input type="file">`标签创建文件选择字段。`enctype=...
5. **关闭连接**:完成操作后,记得关闭打开的流并断开连接,以释放资源。 在实际应用中,"sambatest"可能是一个包含示例代码的项目,包括了具体的Samba文件上传和下载功能。这个项目可以作为学习和参考,帮助理解...
本示例"Java(Servlet)上传文件的demo"提供了一个简单的文件上传功能,适用于初学者理解和实践。以下是对这个demo的详细解析: 1. **Servlet基本概念**: Servlet是一个Java类,遵循Servlet API规范,它扩展了...
一旦Servlet获取到上传的文件流,它会创建一个新的文件对象,然后使用`FileOutputStream`将文件流写入到服务器指定的目录。 在上传完成后,可能会有错误处理和日志记录,确保上传过程的可靠性。此外,安全性也是一...
本实例主要探讨了如何使用Java IO流进行文件的读写、上传和下载,同时也涵盖了处理文本数据和音频文件等内容。 一、文件的读写 Java中的File类是文件操作的基础,它提供了创建、删除、重命名等基本功能。而IO流则...