您的位置:首页 > 职场人生

黑马程序员-----file文件切割与合并(黑马视频)

2014-08-26 21:15 351 查看
------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------

package src.com.itheima.file;

import java.io.BufferedInputStream;

import java.io.BufferedWriter;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.OutputStreamWriter;

import java.io.SequenceInputStream;

import java.util.ArrayList;

import java.util.Enumeration;

import java.util.Iterator;

import java.util.List;

/**

 * 打印流:

 * 该流提供了打印方法,可以将各种数据类型的数据都原样打印.

 *

 * 字节打印流

 * PrintStream

 * 构造函数可以接受的参数类型:

 * 1,file对象

 * 2,字符串路径.String

 * 3,字节输出流.OutputStream

 *

 * 字符打印流:

 * PrintWriter

 * 构造函数可以接收的参数类型:

 * 1,file对象.File

 * 2,字符串路径.String

 * 3,字节输出流.OutputStream

 * 4,字符输出流.Writer

 * @author SUN

 *

 */

public class SplitFileDemo {

 public static void main(String[] args) {

  //splitFile();

  merge();

 }

 /**

  * 文件合并

  *

  */

 public static void merge(){

  List list =new ArrayList();

  list.add("K:\\1.txt");

  list.add("K:\\2.txt");

  list.add("K:\\3.txt");

  final Iterator it=list.iterator();

  Enumeration en=new Enumeration(){

   public boolean hasMoreElements() {

    return it.hasNext();

   }

   public Object nextElement() {

    return it.next();

   }

   

   

  };

  SequenceInputStream s=new SequenceInputStream(en);

  try {

   FileOutputStream f=new FileOutputStream("K:\\整合.txt");

   byte b[]=new byte[1024];

   int len=0;

   while ((len=s.read(b))!=-1){

    f.write(b, 0, len);

   }

   f.close();

   

  } catch (IOException e) {

   // TODO Auto-generated catch block

   e.printStackTrace();

  }

 }

 /**

  * 分隔文件

  *

  */

 public static void splitFile() {

  BufferedInputStream bf =null;

  FileInputStream fi=null;

  BufferedWriter bw=null;

  FileOutputStream fo=null;

  try {

   fi=new FileInputStream("K:\\12.txt");

   bf=new BufferedInputStream(fi);

   

   byte[] b=new byte[1024*1024];

   int len=0;

   int count=1;

   while((len=fi.read(b))!=-1){

    fo=new FileOutputStream("K:\\file"+count+++".txt");

    bw=new BufferedWriter(new OutputStreamWriter(fo));

    bw.write(new String(b,0,len));

   }

   bw.close();

  } catch (IOException e) {

   e.printStackTrace();

  }

 }

}

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐