我是靠谱客的博主 不安龙猫,最近开发中收集的这篇文章主要介绍练习-Java输入输出之文件字节IO流之合并文件,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

任务描述

本关任务:把给定的多个文件合并成一个文件。

编程要求

仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 间编写程序代码,把给定的多个文件合并成一个文件。具体要求如下:

  • 接收给定的一行字符串(如:/test,a.txt。其中逗号前为一个目录,该目录下存储着子文件,逗号后为目标文件,用于存储各子文件合并的内容;
  • 把给定目录下的所有子文件的内容合并到目标文件中;
  • 输出目标文件大小,示例:“最后目标文件的大小:X字节”;
  • 给定子文件的命名规则:假如目标文件为 a.txt,则子文件为 a.txt-1、a.txt-2、...、a.txt-n。

注意:请按照子文件后缀数字按照从小到大依次合并到目标文件。

import java.io.*;
import java.util.Scanner;

public class FileTest {

    public static void main(String[] args) throws IOException {
        
        Scanner scanner = new Scanner(System.in);     // 获取给定字符串
        String s = scanner.nextLine();
        
        // 请在Begin-End间编写完整代码
        /********** Begin **********/
        // 切割给定字符串,得到子文件目录和目标文件名
        String[] array = s.split(",");
        // 循环读取子文件内容,写入到目标文件
        File file1 = new File(array[0]);
        File file2 = new File(array[1]);
        FileOutputStream fileOutputStream = new FileOutputStream(file2);
        for (int i = 1; i < file1.listFiles().length; i ++){
            FileInputStream fileInputStream = new FileInputStream(array[0] + "/" + array[1] + "-" + i);
            int len = 0;
            while((len = fileInputStream.read()) != -1)
                fileOutputStream.write(len);
        }
        fileOutputStream.close();
        // 输出目标文件大小
        System.out.println("最后目标文件的大小:" + file2.length() + "字节");
        FileReader fileReader = new FileReader(array[1]);
        int lenx = 0;
        while((lenx = fileReader.read()) != -1){
            System.out.print((char)lenx);
        }
        fileReader.close();
        
        /********** End **********/

    }
}

 

最后

以上就是不安龙猫为你收集整理的练习-Java输入输出之文件字节IO流之合并文件的全部内容,希望文章能够帮你解决练习-Java输入输出之文件字节IO流之合并文件所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部