Java文件拆分与合并
来源:互联网 发布:c语言100经典实例编程 编辑:程序博客网 时间:2024/06/09 14:37
想起来之前写过一个关于java文件拆分与合并的小例子,巩固学习了一下,顺便上传到博客中!
分解上图一个txt文档。
分解成功后会创建一个文件夹,文件夹里面就是分解后的小文件
拆分代码:
package tarena.day1604;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.Scanner;
public class Test1 {
public static void main(String[] args) {
System.out.println("输入源文件路径:");
String from = new Scanner(System.in).nextLine();
System.out.println("输入拆分文件大小(Kb):");
long size = new Scanner(System.in).nextLong();
try {
chaiFen(from, size*1024);
System.out.println("拆分成功");
} catch (Exception e) {
System.out.println("拆分失败");
e.printStackTrace();//打印完整异常信息
}
}
private static void chaiFen(
String from, long size) throws Exception {
File f = new File(from);
String name = f.getName();
// d:/xxx/xxx/xx/a.jpg_split
File dir = new File(from+"_split");//创建的一个文件包名称
if(dir.exists()) {
File[] files = dir.listFiles();
for (File file : files) {
file.delete();
}
} else {
dir.mkdirs();
}
//////////////////
int fileCount = 0;
long byteCount = 0;
BufferedInputStream in =
new BufferedInputStream(
new FileInputStream(from));
BufferedOutputStream out = null;
int b;
while((b = in.read()) != -1) {
if(out==null || byteCount==size) {
if(out != null) out.close();
File file =
new File(dir, name+"."+(++fileCount));
out =
new BufferedOutputStream(
new FileOutputStream(file));
byteCount=0;
}
out.write(b);
byteCount++;
}
in.close();
out.close();
}
}
合并代码text02:
package tarena.day1604;
import java.io.File;
import java.io.FileFilter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;
public class Test2 {
public static void main(String[] args) {
System.out.println("输入拆分文件目录:");
String from = new Scanner(System.in).nextLine();
System.out.println("输入合并目标文件路径:");
String to = new Scanner(System.in).nextLine();
try {
concat(from, to);
System.out.println("合并完成");
} catch (Exception e) {
System.out.println("合并失败");
e.printStackTrace();
}
}
private static void concat(
String from, String to) throws Exception {
File dir = new File(from);
File[] files = dir.listFiles(new FileFilter() {
@Override
public boolean accept(File f) {
if(f.isDirectory()) return false;
return f.getName().matches(".+\\.\\d+");
}
});
Arrays.sort(files, new Comparator<File>() {
@Override
public int compare(File o1, File o2) {
String n1 = o1.getName();
String n2 = o2.getName();
int a = Integer.parseInt(n1.substring(n1.lastIndexOf(".")+1));
int b = Integer.parseInt(n2.substring(n2.lastIndexOf(".")+1));
return a - b;
}
});
FileOutputStream out =
new FileOutputStream(to);
FileInputStream in = null;
byte[] buf = new byte[8192];
int n;
for(File f: files) {
in = new FileInputStream(f);
while((n = in.read(buf)) != -1) {
out.write(buf,0,n);
}
in.close();
}
out.close();
}
}
dome代码:http://download.csdn.net/detail/bobo8945510/9609840点击打开链接
- java 文件拆分与合并
- Java文件拆分与合并
- Java文件拆分与合并
- Java文件拆分与合并
- Java文件的拆分与合并(二)
- Java文件的拆分与合并(一)
- [java]拆分、合并文件
- java 文件拆分 合并
- 文件的拆分与合并
- 文件拆分与合并(VE)
- 文件的合并与拆分
- java 拆分与合并字符串
- 文件流的合并与拆分
- javaIO学习之拆分与合并文件
- ITEXT PDF文件的拆分与合并
- 使用java.io.*操作文件的拆分与合并,Application一例!
- 使用java.io.*操作文件的拆分与合并,Application一例!
- 使用java.io.*操作文件的拆分与合并,Application一例!
- Windows下使用Redis(一)安装使用
- React Native学习01 - 在Mac平台上搭建iOS开发环境
- 磁盘临时表与内存临时表的差异
- Android-自定义view之圆(选择程度圆以及进度圆)详解
- State Threads——异步回调的线性实现
- Java文件拆分与合并
- HDU 2328 Corporate Identity(后缀数组-求多个串的最长共同子串)
- 关于digit统计算法(C语言实现)
- 将应用程序背景设置为桌面壁纸背景
- 支付宝即时到账接口调用签名验证失败
- python学习笔记 --- 关于urllib2
- POJ 2891 Strange Way to Express Integers
- 【转】【OpenCV入门教程之二】 :OpenCV 2.4.8 or OpenCV 2.4.9组件结构全解析
- FPGA时钟约束