java中如何将两个文件合并到另一个文件

java中如何将两个文件合并到另一个文件,第1张

java可以使用FileChannel快速高效地将多个文件合并到一起,以下是详细代码

    import static java.lang.System.out  

    import java.io.FileInputStream  

    import java.io.FileOutputStream  

    import java.io.IOException  

    import java.nio.ByteBuffer  

    import java.nio.channels.FileChannel  

    import java.util.Arrays  

    public class test {  

        public static final int BUFSIZE = 1024 * 8  

        public static void mergeFiles(String outFile, String[] files) {  

            FileChannel outChannel = null  

            out.println("Merge " + Arrays.toString(files) + " into " + outFile)  

            try {  

                outChannel = new FileOutputStream(outFile).getChannel()  

                for(String f : files){  

                    FileChannel fc = new FileInputStream(f).getChannel()   

                    ByteBuffer bb = ByteBuffer.allocate(BUFSIZE)  

                    while(fc.read(bb) != -1){  

                        bb.flip()  

                        outChannel.write(bb)  

                        bb.clear()  

                    }  

                    fc.close()  

                }  

                out.println("Merged!! ")  

            } catch (IOException ioe) {  

                ioe.printStackTrace()  

            } finally {  

                try {if (outChannel != null) {outChannel.close()}} catch (IOException ignore) {}  

            }  

        }  

        public static void main(String[] args) {  

            mergeFiles("D:/output.txt", new String[]{"D:/in_1.txt", "D:/in_2.txt", "D:/in_3.txt"})  

        }  

    }

使用java编程语言,对文件进行 *** 作,合并多个文件,代码如下:

import static java.lang.System.out

import java.io.FileInputStream

import java.io.FileOutputStream

import java.io.IOException

import java.nio.ByteBuffer

import java.nio.channels.FileChannel

import java.util.Arrays

public class test {

 

 public static final int BUFSIZE = 1024 * 8

 

 public static void mergeFiles(String outFile, String[] files) {

  FileChannel outChannel = null

  out.println("Merge " + Arrays.toString(files) + " into " + outFile)

  try {

   outChannel = new FileOutputStream(outFile).getChannel()

   for(String f : files){

    FileChannel fc = new FileInputStream(f).getChannel() 

    ByteBuffer bb = ByteBuffer.allocate(BUFSIZE)

    while(fc.read(bb) != -1){

     bb.flip()

     outChannel.write(bb)

     bb.clear()

    }

    fc.close()

   }

   out.println("Merged!! ")

  } catch (IOException ioe) {

   ioe.printStackTrace()

  } finally {

   try {if (outChannel != null) {outChannel.close()}} catch (IOException ignore) {}

  }

 }

 //下面代码是将D盘的1.txt 2.txt 3.txt文件合并成out.txt文件。

 public static void main(String[] args) {

  mergeFiles("D:/output.txt", new String[]{"D:/1.txt", "D:/2.txt", "D:/3.txt"})

 }

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11827344.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存