把1个文件分成2个文件和把2个文件合并成1个文件

[quote]
[b]把1个文件分成2个文件[/b]

package org.tarena.day02;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

public class Test01 {

public static void getFileHalf(File fl,File fl2,File fl3) throws Exception{
FileInputStream fis = new FileInputStream(fl);
FileOutputStream fone = new FileOutputStream(fl2);
FileOutputStream ftwo = new FileOutputStream(fl3);
int i;
while((i=fis.read())!=-1){
if(fl2.length()<=fl.length()/2){
//注意这里很重要,要同类型的常量才可以比较,不然文件
//读写会有乱码的;
fone.write(i);
}else{
ftwo.write(i);
}
}
fis.close();
}



public static void main(String[] args) throws Exception{
File fl = new File("/home/soft22/Desktop/anyone.txt");//源文件;
File fl2 = new File("/home/soft22/Desktop/one.txt");//读取源文件的一半写进one.txt;
File fl3 = new File("/home/soft22/Desktop/two.txt");//另一半写进two.txt中;
getFileHalf(fl,fl2,fl3);
}

}


[/quote]

[quote]
[b]把2个文件合并成1个文件[/b]

package org.tarena.day02;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

public class Test02 {

public static void getFile(File fone,File ftwo,File fl) throws Exception{
FileInputStream fis1 = new FileInputStream(fone);
FileInputStream fis2 = new FileInputStream(ftwo);
FileOutputStream fos = new FileOutputStream(fl,true);
int i;
while((i=fis1.read())!=-1){
fos.write(i);
}
fis1.close();
fos.flush();
while((i=fis2.read())!=-1){
fos.write(i);
}
fis2.close();
fos.flush();
}

public static void main(String[] args) throws Exception{
File fl = new File("/home/soft22/Desktop/getone.txt");//目标文件(文件1+文件2);
File fl2 = new File("/home/soft22/Desktop/one.txt");//文件1;
File fl3 = new File("/home/soft22/Desktop/two.txt");//文件2;
getFile(fl2,fl3,fl);
}

}


[/quote]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值