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

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-11-21 05:16:48

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

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;

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

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 */

利用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 { /* * 文件切割器 * 一个读取流

iOS开发- 生成/解析.vcf文件

vcf, 通讯录导出的一种格式. 一.生成vcf文件 如果要把我们iPhone通讯录里的数据, 生成vcf格式文件. 我们可以借助iCloud. 小技巧:通过iCloud导出iPhone通讯录的方法 当然, 如果你想在应用中, 利用代码生成, 完全可以.先导出通讯录数据, 再解析, 再生成vcf文件即可. 参考下面代码: -(NSString*)generateVCardStringWithContacts:(CFArrayRef)contacts { NSInteger counter = 0

ROS知识(16)----如何编译时自动链接同一个工作空间的其他包的头文件(包含message,srv,action自动生成的头文件)

catkin_make编译时,往往需要自动链接同一个工作空间的其他包的头文件.否则会出现类似如下的错误: /home/xx/xx_ws/srcA_package/src/db.hpp:13:26: fatal error: B_package/alax.h: No such file or directory #include <B_package/alax.h> ^ 这需要对包进行配置,假设包A_package需要引用B_package的头文件(例如由message,srv,action自动

已知s.txt文件中有一个这样的字符串 请编写程序读取数据内容,把数据排序后写入 ss.txt文件

package cn.idcast5; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.Arrays; /* * 需求:已知s.txt文件中有一个这样

读取一个文件,给定一个字符串,判断这个字符串在文件中出现的次数

读取一个文件,给定一个字符串,判断这个字符串在文件中出现的次数,面试笔试经常遇到的问题 public class CountStringTest { public static void main(String[] args) { try { //统计E盘下面test.txt中的q字符出现的次数 System.out.println("E盘下面test.txt中的q字符出现的次数为:"); System.err.println(count("E:\\test.txt"

C语言:字符串读取流读取文件中的数据

#include<stdio.h> int main() { //定义文件指针 FILE *f = NULL; //打开文件 f = fopen("1.txt","r"); if(f==NULL) { printf("文件读取失败!\n"); return -1; } //读文件 const int SIZE = 100; char buf[SIZE];//用字符数组做读文件的缓冲区 while(!feof(f)) { //字符串方式

练习:读取解析CSV文件,将读取结果输出的控制台上,并封装到4个Teacher对象中.

/** *    读取解析CSV文件,将读取结果输出的控制台上,并封装到4个Teacher对象中. *    1, 土鳖, 13101015338, 北京海淀区 2, 咪咪, 13201015338, 北京朝阳区 3, 小仓, 13601015818, 北京宣武区 4, 饭岛爱, 13201025818, 北京朝阳区 /** * 读取解析CSV文件,将读取结果输出的控制台上,并封装到4个Teacher对象中. * 1, 土鳖, 13101015338, 北京海淀区 2, 咪咪, 13201015