申请软著代码复制注释和空行

简介: 申请软著代码复制注释和空行
package yuandaima;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.Writer;
/**
 * 申请软著代码复制删除注释和空行
 */
public class Test{
    public static void main(String[] args) throws Exception {
        //文件读取路径
        File dir = new File("D:\\#ADesktop\\新建文件夹\\信息安全\\校园网信息安全等级保护测评系统设计与实现111\\等级保护2.0评测系统\\WindowsFormsApplication8");
        //文件输出路径
        File target = new File("D:\\test.txt");
        BufferedWriter bw = new BufferedWriter(new FileWriter(target));
        StringBuffer sb = new StringBuffer();
        loopRead(dir, sb);
        write(sb.toString(), bw);
    }
    // 遍历文件夹下所有文件
    private static void loopRead(File dir, StringBuffer sb){
        File[] files = dir.listFiles();
        if (files!=null)
            for(File file:files){
                if(file.isDirectory()){
                    loopRead(file, sb);
                }else if(file.getName().endsWith("cs")){
                  if(file.length()!=0){
                        sb.append(readFileToString(file));
                    }
                }
            }
    }
    //读取文件里面的内容
    private static String readFileToString(File file){
        BufferedReader br = null;
        StringBuilder sb = new StringBuilder();
        try {
            br = new BufferedReader(new FileReader(file));
            String line = null;
            while((line = br.readLine())!=null){
                String s = line.trim();
                if (s.length()==0) {
                    continue;
                }
                if (s.startsWith("/") || s.startsWith("*")) {
                    continue;
                }
                sb.append(line).append("\n");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }finally{
            try {
                if(br!=null){
                    br.close();
                }
            } catch (Exception e2) {
                e2.printStackTrace();
            }
        }
        return sb.toString();
    }
    //将读取的路径以及相应的内容写入指定的文件
    private static void write(String str, Writer writer){
        try {
            writer.write(str);
        } catch (Exception e) {
            e.printStackTrace();
        }finally{
            try {
                if(writer!=null)
                    writer.close();
            } catch (Exception e2) {
                e2.printStackTrace();
            }
        }
    }
}
目录
相关文章
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
47_历史里程碑:从ELIZA到Transformer
在当今的数字时代,我们已经习惯于与智能助手对话、向大语言模型提问,甚至依赖它们生成创意内容。然而,这看似理所当然的人机对话能力,实际上经历了长达半个多世纪的曲折发展历程。从1966年麻省理工学院的简陋程序,到2017年Google提出的革命性架构,聊天AI的演变不仅是技术的进步,更是人类对自身语言本质探索的缩影。
|
3月前
|
JSON 数据挖掘 API
1688商品列表API秘籍!轻松获取商品列表数据
1688商品列表API(alibaba.product.list.get)可批量获取商品信息,支持分页、筛选与排序,适用于商品管理与数据分析。本文提供Python调用示例,助您快速接入接口,实现商品数据高效处理。
|
7月前
|
存储 安全 NoSQL
【📕分布式锁通关指南 09】源码剖析redisson之公平锁的实现
本文深入解析了 Redisson 中公平锁的实现原理。公平锁通过确保线程按请求顺序获取锁,避免“插队”现象。在 Redisson 中,`RedissonFairLock` 类的核心逻辑包含加锁与解锁两部分:加锁时,线程先尝试直接获取锁,失败则将自身信息加入 ZSet 等待队列,只有队首线程才能获取锁;解锁时,验证持有者身份并减少重入计数,最终删除锁或通知等待线程。其“公平性”源于 Lua 脚本的原子性操作:线程按时间戳排队、仅队首可尝试加锁、实时发布锁释放通知。这些设计确保了分布式环境下的线程安全与有序执行。
238 0
【📕分布式锁通关指南 09】源码剖析redisson之公平锁的实现
|
7月前
|
人工智能 自然语言处理 供应链
产品设计师如何培养创造力?生成式人工智能时代的破局之道
本文探讨生成式人工智能对产品设计师创造力的影响,从技术赋能、认知升级和伦理坚守三方面分析。技术赋能通过效率提升与灵感激发重构设计流程;认知升级强调理解技术本质,将局限转化为创新契机;伦理坚守确保技术应用正向价值。最后提出通过实践与认证构建未来创造力体系,在技术与人文交汇处重新定义创造力边界。
|
自然语言处理 机器人 API
解锁电商直播新纪元:无人数字人客服如何在直播间掀起智能革命,重塑顾客服务体验的未来?
【10月更文挑战第7天】随着电商直播的兴起,客户咨询量激增,传统人工客服难以应对,无人数字人直播机器人客服应运而生。本文介绍如何使用Python、LangChain和ChatGPT搭建高效客服系统,包括安装库、设置API密钥、定义问答流程、构建FAQ知识库、集成实时聊天界面及部署上线,帮助企业自动处理客户咨询,提升用户体验。
481 2
|
存储 算法 关系型数据库
数据结构与算法学习二一:多路查找树、二叉树与B树、2-3树、B+树、B*树。(本章为了解基本知识即可,不做代码学习)
这篇文章主要介绍了多路查找树的基本概念,包括二叉树的局限性、多叉树的优化、B树及其变体(如2-3树、B+树、B*树)的特点和应用,旨在帮助读者理解这些数据结构在文件系统和数据库系统中的重要性和效率。
175 0
数据结构与算法学习二一:多路查找树、二叉树与B树、2-3树、B+树、B*树。(本章为了解基本知识即可,不做代码学习)
|
NoSQL API 数据库
揭秘!Flask如何一键解锁RESTful API高效微服务?打造未来互联网架构的隐形力量!
【8月更文挑战第31天】本文介绍如何使用 Flask 构建高效且易维护的 RESTful 微服务,涵盖环境搭建、基本应用创建及代码详解。通过示例展示用户管理系统的 CRUD 操作,并讨论数据库集成、错误处理、认证授权、性能优化及文档生成等高级主题,助力开发者打造强大的后端支持。
251 0
|
存储 Unix Linux
深入理解 Linux 内核1
深入理解 Linux 内核
172 0
|
存储 数据采集 DataWorks
DataWorks产品使用合集之如何结合MDM进行主数据项目实施
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
221 1
|
存储 编译器 定位技术
结构体数组在C语言中的应用与优化策略
结构体数组在C语言中的应用与优化策略