JAVA - 文件切分存储 - FileInputStream 流形式
package stream;
import java.io.*;
/**
* @author*/
public class TestStream {
public static void main(String[] args) throws IOException {
// *********************** read
File file = new File("D:/stream/note.txt");
FileInputStream fileInputStream = null;
try {
fileInputStream = new FileInputStream(file);
long length = file.length();
int size = 3*1024;
byte[] bytes = new byte[size];
int count = 0;
if (length<=size) {
// 一次存储
myWrite(fileInputStream,bytes,0,size,0);
} else {
// 分段存储
for (long i = length; i > 0; i--) {
if (i % size==0) {
count++;
myWrite(fileInputStream,bytes,0,size,count);
}
if (i == 1 && length % size!=0){
// 处理剩余的 。
size = (int) (length - size*count);
bytes = new byte[size];
count++;
myWrite(fileInputStream,bytes,0,size,count);
}
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
fileInputStream.close();
}
}
public static void myWrite(FileInputStream fileInputStream,byte[] bytes,int index,int size,int count) throws IOException {
fileInputStream.read(bytes, index, size);
File wroteFile = new File("D:/stream/wrote-"+count+".txt");
wroteFile.delete();
FileOutputStream fileOutputStream = new FileOutputStream(wroteFile);
fileOutputStream.write(bytes);
}
}

JAVA - 文件切分存储 - FileInputStream 流形式的更多相关文章
- java 文件字节和字符流 缓冲流
流的原理 1) 在 Java 程序中,对于数据的输入/输出操作以“流”(stream) 方式进行:2) J2SDK 提供了各种各样的“流”类,用以获取不同种类的数据:程序中通过标准的方法输入或输出数据 ...
- Java文件处理之IO流
一.概述 流:代表任何有能力产出数据的数据源对象或者是有能力接受数据的接收端对象 :其作用是为数据源和目的地建立一个输送通道. IO流:是程序中一套用于数据传输的机制.IO流是Input流和Outpu ...
- Java分享笔记:FileInputStream流的 read()方法 和 read(byte[] b)方法
/*------------------------ FileInputStream: ....//输入流,字节流 ....//从硬盘中存在的一个文件中读取内容,读取到程序中 ....//read() ...
- Java文件字节流和字符流
输入流:只能从中读取数据,不能向其写入数据. InputStream,Reader 输出流:只能向其中写入数据,不能从中读取数据. OutputStream, Writer 输入流是相对于程序而言,外 ...
- Java文件与io——打印流和对象流
打印流的主要功能是用于输出,在整个IO包中打印流分为两种类型: 字节打印流:PrintStream 字符打印流:PrintWriter 打印流可以很方便的进行输出 public class Print ...
- Java文件操作(IO流)
File 在java中用来表示文件和文件夹的具体类. File的构建 File的常见方法 字节流: 对象序列化: 字符流: 转接流: InputStreamReader. ...
- Java文件与io——缓冲流
对文件或其它目标频繁的读写操作,效率低,性能差. 使用缓冲流的好处,能够更高效的读写信息,原理是将数据先缓冲起来,然后一起写入或者读取出来. BufferedInputStream:为另一个输入流添加 ...
- java文件操作(读流)
try{ InputStream is = new FileInputStream("abc.txt"); InputStreamReader ir = new InputStre ...
- Java文件与io——字符流
Writer写入字符流的抽象类.对文件的操作使用:FileWriter类完成 Reader读取字符的抽象类. public class CharDemo { /** * @param args */ ...
- java 写 Excel(不生成实体文件,写为流的形式)
java 写 Excel(不生成实体文件,写为流的形式) public String exportReportExcel(String mediaCode, List<SimpleMediaRe ...
随机推荐
- NC65元数据添加七彩版时注意点
元数据添加七彩版时注意点 元数据七彩版模式 --- 主要添加Xml文件调整格式 添加时注意点如下 手动创建Panel时 自动生成的实现方法中有一个方法的返回值一定要为true 该方法主要是控制显不显示 ...
- beanshell导入java文件
beanshell导入java文件 beanshell可以读取class格式的文件 步骤: a.添加BeanShell预处理程序 b.请求调用 beanshell可以读取java格式的文件 步骤: a ...
- 从零玩转Websocket实时通讯服务之前后端分离版本
前言 公司项目需要用到消息提示,那么WebSocket它来了经过我面向百度的学习,废话不多说直接开干. 后端搭建 一.依赖导入 <dependency> <groupId>or ...
- IDEA美化教程
一.IDEA 字体大小怎么设置(图文教程) IDEA 初次安装时,默认字体非常小,这种情况下,代码阅读起来非常费劲,对保护视力非常不友好.那么,要如何在 IDEA 中设置字体大小呢? 这里介绍两种方法 ...
- LLM增强LLM;通过预测上下文来提高文生图质量;Spikformer V2;同时执行刚性和非刚性编辑的通用图像编辑框架
文章首发于公众号:机器感知 LLM增强LLM:通过预测上下文来提高文生图质量:Spikformer V2:同时执行刚性和非刚性编辑的通用图像编辑框架 LLM Augmented LLMs: Expan ...
- 如何解决windos系统关闭nginx进程之后仍然可以访问?
1.停止Nginx服务的四种方法 从容停止服务 这种方法较stop相比就比较温和一些了,需要进程完成当前工作后再停止. nginx -s quit 立即停止服务 这种方法比较强硬,无论进程是否在工作, ...
- Spire.Cloud 在线协同编辑Word文档
协同编辑,即项目管理者在用户管理系统下,允许多人(用户)同时编辑同一Word/Excel/PPT 文档.Spire.Cloud支持的协同编辑模式包含两种: 1. 快速模式:其他编辑者可以及时看到对文档 ...
- 容器中域名解析流程以及不同dnsPolicy对域名解析影响
本文分享自华为云社区<容器中域名解析流程以及不同dnsPolicy对域名解析影响>,作者:可以交个朋友 . 一.coreDNS背景 部署在kubernetes集群中的容器业务通过coreD ...
- 云原生微服务的下一站:Proxyless Service Mesh
本文分享自华为云社区<DTSE Tech Talk | 第46期:云原生微服务的下一站:Proxyless Service Mesh>,作者:华为云社区精选. 本期直播主题是<云原生 ...
- 解锁华为云AI如何助力无人车飞驰“新姿势”,大赛冠军有话说
摘要:在2020年第二届华为云人工智能大赛•无人车挑战杯赛道中,"华中科技大学无人车一队"借助华为云一站式AI开发与管理平台ModelArts及HiLens端云协同AI开发应用平台 ...