文件分割器,一个读取流,相应多个输出流,并且生成的碎片文件都有有序的编号

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;

public class FileSpilte {

	/**
	 * @param args
	 * @throws IOException
	 */
	/*
	 * 文件分割器,
	 * 一个读取流,相应多个输出流。并且生成的碎片文件都有有序的编号
	 */
	public static void main(String[] args) throws IOException {

		 File destdir = new File("teampFile\\filepart");
		 File file = new File("E:\\A-Lin - 给我一个理由忘记.mp3");

	    	fileSplite(file,destdir);
	}

	private static void fileSplite(File file, File destdir) throws IOException {

		if(!file.exists()){
			throw new RuntimeException(destdir+"文件不存在");
		}

		if(!destdir.exists())
		{
			destdir.mkdirs();
		}
		FileInputStream fis = new FileInputStream(file);

		FileOutputStream fos = null;

		byte[] buf =new byte[1024*1024];
		int count = 0;
		int len = 0;

		while((len=fis.read(buf))!=-1){
			File partfile = new File(destdir,(++count)+".part");
			fos = new FileOutputStream(partfile);
			fos.write(buf,0,len);
			fos.close();
		}
		Properties prop =new Properties();
		prop.setProperty("partcount",Integer.toString(count));
		prop.setProperty("filename", file.getName());

		File profile = new File(destdir,(++count)+".properties");
		fos=new FileOutputStream(profile);
		prop.store(fos, "save");

		fos.close();

	}

}
时间: 2024-12-23 00:10:45

文件分割器,一个读取流,相应多个输出流,并且生成的碎片文件都有有序的编号的相关文章

文件切割器,一个读取流,对应多个输出流,而且生成的碎片文件都有有序的编号

import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.Properties; public class FileSpilte { /** * @param args * @throws IOException */

javaSE中的输入输出流---一个读取流,对应多个输出流。而且生成的碎片文件都有有序的编号

<span style="font-size:18px;">package com.io.other.split; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.Properties;

JAVA学习课第五 — IO流程(九)文件分割器合成器

文件分割器 private static final int SIZE = 1024 *1024; public static void splitFile(File file) throws IOException{ //用读取流关联文件(不确定文件格式) FileInputStream fis = new FileInputStream(file);//源是一个 byte[] by = new byte[SIZE];//定义1M的缓冲区 FileOutputStream fos = null

文件分割器的实现

记得读高中的时候特别喜欢看电子书,然而那时候还是2010年的时候,经济条件不好,买不起智能手机,只能使用一些山寨机,硬件设施较差,里面的txt文本阅读器只能读取大小不超过5M的电子书,然而网上的电子书基本上都超过了5M,为了能看这些书,只能在网上下载一个txt文件分割器,分割成小文件后,再下载到手机上,那时候还不懂编程,就觉得这个分割器是一个很神奇的东西.然而如今自己学了编程后发现一个文件分割器是十分容易实现的. 现在笔者就以Java中的IO流知识,实现一个文件分割器,当然知识实现了核心的代码,

一个使用three.js的网页DXF文件查看器dxf viewer

github地址:https://github.com/gdsestimating/three-dxfThree-Dxf是一个浏览器dxf文件查看器应用,其使用https://github.com/gdsestimating/dxf-parser解析dxf文件(解析出json格式),并使用three.js来渲染.首先,安装npm(安装node.js时会默认安装好npm,安装后会将npm和node命令默认添加到环境变量中)首先下载: 解压 在当前目录打开命令行 # first, compile t

[转]VC++中对文件的写入和读取

本文转自:http://blog.csdn.net/fanghb_1984/article/details/7425705 本文介绍两种方法对文件进行读取和写入操作:1.采用fstream类:2.采用CStdioFile类. CStdioFile继承自CFile,一个CStdioFile对象代表一个用运行时函数fopen 打开的C 运行时流式文件. C++中的fstream类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O.stream类有两个重要的运算符:插入器(<<)和析

利用IO流把单个文件切割成碎片文件

import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.Properties; public class SplitFileTest { public static void main(String[] args) throws IOException { /* * 文件切割器 * 一个读取流

UI进阶 文件管理器(NSFileManager)文件对接器(NSFileHandle)

一.文件管理器与文件连接器之间的区别 文件管理器(NSFileManager) 此类主要是对文件进行的操作(创建/删除/改名等)以及文件信息的获取. 文件连接器(NSFileHandle) 此类主要是对文件内容进行读取和写入操作. 二.文件管理器(NSFileManager) 1.创建文件夹管理器 1 NSFileManager *fileManager = [NSFileManager defaultManager]; 2.创建文件并写入数据 1 // 创建文件夹管理器 2 NSFileMan

设置 Windows 文件资源管理器

?  前言 本文主要介绍下 Windows 文件资源管理器的常用设置,谈不上什么技术,算是一些使用技巧或经验的总结吧.熟练这些常用设置,有助于更高效的操作电脑.主要介绍一下几点(有时间了继续更新): 1.   文件夹反选操作 2.   设置显示/隐藏文件或文件夹 3.   设置"文件资源管理器"记住最后一次窗体状态(或大小) 1.   文件夹反选操作 ?  当一个文件目录下文件较多时,有时需要实现文件反选操作. 注:根据操作系统版本的不同,可能有所不同,下面以 Win 10 为例. 1