在java中使用io流批量处理文件

2022-06-23  本文已影响0人  永远爱你ol

最近在工作中需要批量处理一些文件,为了提高效率节省时间,自己写了一个处理的java小工具,分享一下。
首先说明一下,我所处理的文件是在一个文件夹中有多个子文件夹,每个子文件夹里面只有一个同名的文件。其他不同的文件存放方式,可以根据实际情况修改一下。

示例代码分享:

    public String helloSpringBoot() throws IOException {
        List<File> allFileList = new ArrayList<>();
        File dir=new File("e:\\zdir");   //文件放在e盘的zdir文件夹中
        File[] fileList = dir.listFiles();
        for(File file : fileList){
            File dir2=new File("e:\\zdir\\"+file.getName());
            allFileList.add(dir2);
            System.out.println(dir2.getName());
        }

        for(File file : allFileList) {
            String filePath = "e:\\zdir\\"+file.getName()+"\\_index.md";

            //读取后文件存放到新的文件夹zdir2中
            File newDir=new File("e:\\zdir2\\"+file.getName()); 
            File newFile=new File("e:\\zdir2\\"+file.getName()+"\\_index.md");
            newDir.mkdir();
            newFile.createNewFile();

           BufferedReader bufferedReader = new BufferedReader(new FileReader(filePath));
           BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(newFile));

            int count = 0;
            String line;
            int start0 = 0;
            int start = 0;
            int start2 = 0;

            while ((line = bufferedReader.readLine()) != null) {

                count++;

                //删除文件的部分内容
                if (line.contains("此处写所需要删除内容的第一段")) {  
                    line = "";
                    start0 = count;
                    continue;
                }
                if (start0 != 0) {
                    if (line.contains("此处写所需要删除内容的最后一段的下一段")) {  
                        start0 = 0;
                    } else {
                        line = "";
                        continue;
                    }
                }

                //添加文件的部分内容
                if (line.contains("此处写需要添加内容处的上一行")) {
                    start2 = count;
                }
                if (start2 != 0) {
                    if (count == start2 + 1) {
                        bufferedWriter.newLine();
                        bufferedWriter.write("此处写需要添加的内容");
                        bufferedWriter.newLine();
                        bufferedWriter.write(line);
                        continue;
                    }
                }

                bufferedWriter.write(line);
                bufferedWriter.newLine();
            }

            bufferedReader.close();
            bufferedWriter.close();
        }
        return "success";
    }
上一篇下一篇

猜你喜欢

热点阅读