【工具】从项目中抽取指定行数的代码 用来申请软著等
2026/6/6 16:10:30 网站建设 项目流程

【工具】从项目中抽取指定行数的代码 用来申请软著等

package com.study; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.ListUtil; import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.file.FileAppender; import cn.hutool.core.text.StrBuilder; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.StrUtil; import lombok.extern.slf4j.Slf4j; import java.io.File; import java.util.List; /** * 软著 */ @Slf4j public class 代码整理 { //配置项目路径 必选 /** */ private static final String 项目路径 = "C:\\workspace\\baidu\\"; //配置指定多个目录 可选 private static final List<String> 目录s = ListUtil.of("", ""); //配置需要排除的目录 可选 private static final List<String> 排除目录s = ListUtil.of("config", "util"); //配置指定行数 可选 默认 -1全部 private static final int 最大行数 = 3000; private static int 当前行数 = 0; //配置输出路径 private static final String 输出路径 = "C:\\project\\软著\\"; private static FileAppender 输出追加 = new FileAppender( new File(代码整理.输出路径+"输出代码_"+System.currentTimeMillis() + ".txt"), 16, true); public static void main(String[] args) { 代码整理.生成代码(); } /** * * * 输出到配置的目录 代码_时间戳.txt * */ public static void 生成代码() { log.info("生成代码, 设定最大行数为:{}, 任务开始", 代码整理.最大行数); 代码整理.读取项目文件列表(代码整理.项目路径); log.info("生成代码, 实际进度:{}/{}, 任务结束", 代码整理.当前行数, 代码整理.最大行数); } /** * 递归 * @param 路径 */ public static void 读取项目文件列表(String 路径) { if(代码整理.是否够数(0)){ 代码整理.输出追加.flush(); //结束 return; } String[] split = 路径.split("\\\\"); String s1 = split[split.length - 1]; boolean contains = 代码整理.排除目录s.contains(s1); if(contains){ return; } File[] ls = FileUtil.ls(路径); if(ArrayUtil.isEmpty(ls)){ return; } 代码整理.输出追加.flush(); for (File file : ls) { boolean directory = file.isDirectory(); if(directory){ String path = file.getPath(); 代码整理.读取项目文件列表(path); continue; } List<String> 每行数据 = FileUtil.readUtf8Lines(file); if(CollUtil.isEmpty(每行数据)){ continue; } for (String s : 每行数据) { if(StrUtil.isBlank(s)){ continue; } if(代码整理.是否够数(1)){ 代码整理.输出追加.flush(); //结束 return; } 代码整理.输出追加.append(s); } } } public static boolean 是否够数(int 添加行数){ if(代码整理.当前行数 >= 代码整理.最大行数){ //结束 return true; } 代码整理.当前行数 += 添加行数; return false; } }

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询