Java代码输出到txt文件(申请专利贴源码的必备利器)

 

最近公司在申请专利,编写不少文档,项目的代码量实在是过于庞大。如果一个一个的复制粘贴虽然能够完成,但是对于程序员而言实在没有这个必要。shell或者python就能解决这个问题。由于我个人对于shell和python不是非常熟练的情况下,因此我使用Java来实现这个目的。

该脚本称不上完全自动化,顶多算是半自动化,因为需要精确到对应的包下,才能将对应的Java代码全部输出。不然的话,除了会将Java代码输出到txt文件,同时也会将一些不必要的xml和其他相关的文件一起输出,这样一来会显得很混乱。因此采取这种半自动化的方案临时解决体力劳动,提高一定的效率。

这段代码大家可以根据自行需要去修改它。

源代码如下:

package cn.test;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("E://实验API//workspace//test-saas//test-common//src//main//java//com//test//sass//custome");//文件输出路径File target = new File("C://Users//test//Desktop//out.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.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();}}}
}

 

转载于:https://www.cnblogs.com/youcong/p/10098948.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/250039.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【算法】 - 动态规划 + 位运算

题目描述 思路1: 写一个返回2进制中1数量的函数countOne遍历0到num,对每一个数使用countOne,并将结果保存到res中返回 var countBits function (num) {let res new Array(num 1).fill(0);for (let i 0; i < num; i) {res[i] countOne(i.toString(2));}return res; };…

Spring配置AOP切入点execution详解

例&#xff1a; execution (* com.sample.service…*. *(…)) 整个表达式可以分为五个部分&#xff1a; 1、execution():&#xff1a;表达式主体。 2、第一个*号&#xff1a;表示返回类型&#xff0c; *号表示所有的类型。 3、包名&#xff1a;表示需要拦截的包名&#xff…

Netty

1BS/CS? 2断点续传需要activeX,需要独立客户端有状态,tomcat无状态,或者Netty有状态,可以断点续传 3Netty核心java nio性能比较高 4Jetty和Netty和dubbo区别? 5 转载于:https://www.cnblogs.com/xinglongbing521/p/10105351.html

sympy科学计算器

SymPy库常用函数 简介 本文抄于https://www.cnblogs.com/baby123/p/6296629.html SymPy是一个符号计算的Python库。它的目标是成为一个全功能的计算机代数系统&#xff0c;同时保持代码简 洁、易于理解和扩展。它完全由Python写成&#xff0c;不依赖于外部库。SymPy支持符号计算…

【异或运算】 - 交换2个数

1. 代码 let a 3; let b 4; a a ^ b; b a ^ b; a a ^ b;2. 异或的性质 不同为1,相同为0(可以看做是无进制位的加法)交换律: a ^ b b ^ a;结合律: (a ^ b) ^ c a ^ (b ^ a);0 ^ x x;x ^ x 0; 3. 证明 下面证明1中的代码 a 3 ^ 4;b (3 ^ 4) ^ 4 3 ^ 0 3;a (3…

Spring底层控制反转解耦合(IOC)

简单的例子解释IOC控制反转进行解耦合 一、相关概念 &#xff08;1&#xff09;解耦合 解耦合就是把程序中互相不相关或有限相关的模块分割开来&#xff0c;把不同模块互相之间的关系用接口进行准确定义&#xff0c;解耦前&#xff0c;两个模块之间共享所有信息&#xff1b; &…

Manacher算法学习笔记 | LeetCode#5

Manacher算法学习笔记 DECLARATION 引用来源&#xff1a;https://www.cnblogs.com/grandyang/p/4475985.html CONTENT 用途&#xff1a;寻找一个字符串的最长回文子串时间复杂度&#xff1a;O(N)算法步骤&#xff1a; 1.添加特殊字符 由于回文串的长度可奇可偶&#xff0c;比如…

content-type对照表

转载于:https://www.cnblogs.com/mxyr/p/9238329.html

【算法小积累】 - 提取非0数最右侧的1

参考 - 69:49 const getRightOne num > {return num & (~num 1); };

解耦合

广大程序猿同胞&#xff0c;经常会看到“解耦合”&#xff0c;也有很多人&#xff0c;会用这个词来装X&#xff0c;但是&#xff0c;实际真正能理解的人&#xff0c;并不多。接下来&#xff0c;带大家深入浅出的走一遍&#xff0c;如何解耦合。 首先&#xff0c;我们要知道&am…

CentOS安装和配置Rsync进行文件同步

Liunx系统实现文件同步不需要搭建FTP这类的工具&#xff0c;只需要按照Rsync配置下文件就可以。 本文以Centos7.0为例。 1. 首先关闭SELINUX&#xff08;不关闭无法同步&#xff0c;权限太高了&#xff09; vi /etc/selinux/config #编辑防火墙配置文件 #SELINUXenforcing #注释…

【linux】 -设备名称与文件目录

参考 - 鸟哥的linux私房菜基础篇 在linux系统中,每个设备都被当成一个文件来对待几乎所有的硬件设备文件都在/dev这个目录内 下面给出,常见设备和文件路径的对应关系 设备设备在Linux中的文件名SCSI、SATA、USB磁盘驱动器/dev/sd[a-p]U盘/dev/sd[a-p] (与SATA相同)Virtio接口/…

数据结构开发(7):典型问题分析(Bugfix)

0.目录 1.创建异常对象时的空指针问题 2.LinkList 中的数据元素删除 3.LinkList 中遍历操作与删除操作的混合使用 4.StaticLinkList 中数据元素删除时的效率问题 5.StaticLinkList 是否需要提供析构函数&#xff1f; 6.StLib 是否有必要增加多维数组类&#xff1f; 1.创建异常对…

spring boot 使用视图modelandview

1&#xff1a;springboot使用视图解析器&#xff0c;添加依赖 <!-- freemarker模板引擎视图 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-freemarker</artifactId></dependency>&…

题解-BOI 2004 Sequence

Problem bzoj & Luogu 题目大意&#xff1a; 给定序列\(\{a_i\}\)&#xff0c;求一个严格递增序列\(\{b_i\}\)&#xff0c;使得\(\sum \bigl |a_i-b_i\bigr|\)最小 Thought 正序&#xff1a;直接对应 逆序&#xff1a;取中位数&#xff08;证明&#xff1a;“医院设置”&am…

【vscode】编译java时报错乱码

报错如下 解决方案 改变终端的编码格式 chcp 946注意: chcp 65001 UTF-8编码chcp 936 GBK2312代码页

搭建集群架构

环境搭建进行规划(磨刀不误砍柴工). 集群架构组成说明. 负载均衡服务器使用Nginx做搭建,(nginx反向代理软件) Nginx01<-------->Nginx02 3台Web网站服务器,Nginx网站web服务功能 2台负载均衡服务器 (对网站的流量进行分流,减少流量对某台服务器的压力) 3台web服务器, (处…

Model、ModelMap和ModelAndView的使用详解

1.前言 最近SSM框架开发web项目&#xff0c;用得比较火热。spring-MVC肯定用过&#xff0c;在请求处理方法可出现和返回的参数类型中&#xff0c;最重要就是Model和ModelAndView了&#xff0c;对于MVC框架&#xff0c;控制器Controller执行业务逻辑&#xff0c;用于产生模型数据…

【mysql】- 初始化

参考 1、写配置文件 在mysql的根目录下创建 my.ini&#xff0c;根目录的截图和输入的内容如下所示。 my.ini的内容如下 [mysql] default-character-setutf8[mysqld] character-set-serverutf8 default-storage-engineINNODB sql_modeSTRICT_TRANS_TABLES,NO_ZERO_IN_DATE,…

【FBI WARNING】一些Noip的黑科技 持续整理!

有疑问或错误尽管评论&#xff01;&#xff01; 下面以C为准。 本文手&#xff08;粘&#xff09;打&#xff08;贴&#xff09;于各大博客之间 有问题。。。。。 我也不懂 max、min的优化 我们知道&#xff0c;打max、min时&#xff0c;要用分支&#xff08;if语句&#xff09…