最近公司在申请专利,编写不少文档,项目的代码量实在是过于庞大。如果一个一个的复制粘贴虽然能够完成,但是对于程序员而言实在没有这个必要。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();
}
} }
}

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

  1. 将Matlab中的矩阵输出到txt文件

    将矩阵输出到txt文件中的方法,遍寻网络,始见真经!!! fid=fopen('C:Documents and Settingscleantotal.ped','wt');%写入文件路径 matrix ...

  2. 将CMD内的显示内容输出到txt文件

    将CMD内的显示内容输出到txt文件 xxxx -t >c:\test.txt        //xxxx为命令  如ping www.baidu.com //-t >c:\test.tx ...

  3. Hadoop之HDFS原理及文件上传下载源码分析(下)

    上篇Hadoop之HDFS原理及文件上传下载源码分析(上)楼主主要介绍了hdfs原理及FileSystem的初始化源码解析, Client如何与NameNode建立RPC通信.本篇将继续介绍hdfs文 ...

  4. Scala 深入浅出实战经典 第48讲:Scala类型约束代码实战及其在Spark中的应用源码解析

    王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-64讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...

  5. php实现文件上传的源码

    php实现文件上传的源码,更多php技术开发就去php教程网,http://php.662p.com <?php ##author :Androidyue ##sina @androidyue ...

  6. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(32)-swfupload多文件上传[附源码]

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(32)-swfupload多文件上传[附源码] 文件上传这东西说到底有时候很痛,原来的asp.net服务器 ...

  7. swfupload多文件上传[附源码]

    swfupload多文件上传[附源码] 文件上传这东西说到底有时候很痛,原来的asp.net服务器控件提供了很简单的上传,但是有回传,还没有进度条提示.这次我们演示利用swfupload多文件上传,项 ...

  8. 开源方案搭建可离线的精美矢量切片地图服务-8.mapbox 之sprite大图图标文件生成(附源码)

    项目成果展示(所有项目文件都在阿里云的共享云虚拟主机上,访问地图可以会有点慢,请多多包涵). 01:中国地图:http://test.sharegis.cn/mapbox/html/3china.ht ...

  9. 点菜网---Java开源生鲜电商平台-系统架构图(源码可下载)

    点菜网---Java开源生鲜电商平台-系统架构图(源码可下载) 1.点菜网-生鲜电商平台的价值与定位. 生鲜电商平台是一家致力于打造全国餐饮行业智能化.便利化.平台化与透明化服务的创新型移动互联网平台 ...

随机推荐

  1. oracle网页客户端工具

    Oracle数据库的管理相较于其他数据库,是比较麻烦的,客户端工具的安装都要花一些时间,目前有一款treesoft软件,通过网页的方式管理Oracle. 功能包括:数据库的展示,库表的展示,表字段结构 ...

  2. Maven 使用 Nexus 内部库 代理

    反正任由总理怎么强调,在中国的当前的网络环境下,中央库的访问速度总是令人心碎.建一个nexus内部库可以建立缓存,只要有人通过它下载了相关的maven依赖,那么别人需要时可以马上从本地网络的服务器上返 ...

  3. js-权威指南学习笔记15

    第十五章 脚本化文档 1.文档对象模型DOM是表示和操作HTML和XML文档内容的基础API. 2.Document.Element.Text是Node的子类. 3.查询文档的一个或多个元素有如下方法 ...

  4. Django基础四之模板系统

    一 语法   模板渲染的官方文档 关于模板渲染你只需要记两种特殊符号(语法): {{  }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 二 变量 在Django的模板语言中按此语法使 ...

  5. [转]vue数据绑定(数据,样式,事件)

    1.mounted 与 methods 与 computed 与 watched区别 From:https://blog.csdn.net/qinlulucsdn/article/details/80 ...

  6. js时间与毫秒数互相转换(转)

    [1]js毫秒时间转换成日期时间   var oldTime = (new Date("2017/04/25 19:44:11")).getTime(); //得到毫秒数    / ...

  7. IIS 部署 Python Django网站流程(受够了野路子)

    知道的,百度上搜出来的东西质量令人唏嘘.当你求助的时候多半还得靠自己,或者靠Google 介入正题,详细来一遍流程吧 当然,我是用Visual Studio 2019 来编辑开发Django项目的,如 ...

  8. 【java错误】System.out.println()出错

    今天想测试java的System的类,没想到居然出错了.在同一个包下的java文件System全错,而其他包中的System没错.上网查了下资料,原来我是重定义了System类,覆盖了原来的Syste ...

  9. opencv图像处理时使用文件输入流ifstream批量读取图片

    简介: 在利用opencv进行图像处理时,通常需要批量读取图片,然后做相应的处理,我们可以用C++文件的输入流来进行图片的读取,这要求我们应该事先,将图片图片名生成txt文件,具体请参见之前的博文[u ...

  10. android IO流操作文件(存储和读取)

    存储文件: public class FileOperate extends Activity { private static final String FILENAME = "mydat ...