最近要将一个工程的所有源代码导入到一个文件中,要如下图效果。

于是写了如下代码:最后用Notepad上色,paste到word中即可。

import java.io.*;

public class ExportCode {

static FileWriter fw;

static BufferedWriter writer;

static String headTitle = "=======================================";

static String endline="\n";

public ExportCode() {}

public ExportCode(String outputPath)

{

String os=System.getProperties().getProperty("os.name");

if(os.startsWith("win")||os.startsWith("Win"))endline="\r\n";

try {

// 设置成尾部追加方式

fw = new FileWriter(outputPath, true);

writer = new BufferedWriter(fw);

} catch (IOException e) {

e.printStackTrace();

}

}

/**

* @param path 绝对路径

* @param filename 要读的文件名

*/

public void WriteToMyFile(String path, String filename) {

if (!filename.endsWith(".java") )

return;

try {

writer.write(endline+headTitle+endline);

writer.write("『"+filename+"』");

writer.write(endline+headTitle+endline);

BufferedReader br = new BufferedReader(new FileReader(path));

String buf = br.readLine();

while (buf != null) {

writer.write(buf + endline);

buf = br.readLine();

}

// 输出到文件

writer.flush();

if (br != null)br.close();

} catch (IOException e) {

e.printStackTrace();

}

}

//递归遍历当前文件夹下的所有文件

public void showAllSubFile(String path) {

File f = new File(path);

String[] list = f.list();

for (String s : list) {

// System.out.println(s);

File subf = new File(f.getPath() + File.separator + s);

// 如果当前s所代表的是文件夹

if (subf.isDirectory())

showAllSubFile(subf.getPath());

else {

WriteToMyFile(subf.getPath(), s);

}

}

}

public static void main(String[] args) {

System.out.println("Export start....");

/*输入文件夹路径*/

String inpath="C:\\Users\\sq\\Desktop\\test";

/*输出文件的路径*/

String outpathString="C:\\Users\\sq\\Desktop\\output.java";

new ExportCode(outpathString).showAllSubFile(inpath);

System.out.println("Export Complete.");

// 最后关掉输出流

try {

if (writer != null)

writer.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

Java导出源程序_JAVA导出项目的所有源代码到一个文件相关推荐

  1. 【源码+教程】Java桌球游戏_Java初级项目_Java练手项目_Java项目实战_Java游戏开发

    今天分享的Java开源游戏项目是桌球游戏,初学者也可以用来练习喔~课程详细讲解了一个桌球游戏的编写思路和流程,即使你刚学Java没多久,也可以跟随该教程视频完成属于你自己的桌球游戏!同时,还可以加深和 ...

  2. java外包项目管理_Java web 项目求外包,运维系统和决策分析系统,最好有现成的系统能改改...

    大概情况是,项目中有这两个周边的模块,验收的时候必须核对,所以要求中提出的功能都要有.人手不太足,看看大家谁手头有类似的产品,或者擅长这方面的开发,能支持我们一下. 做过类似项目的兄弟应该能知道是个什 ...

  3. java web 刷新_Java Web项目的保存和刷新

    java web 刷新 如何配置计算机以保存并刷新Java Web项目? 当您向开发人员提出此问题时,答案以"哦,好吧--"开头,并以某种可行的方式继续描述. 每个人都有自己的方式 ...

  4. java web 保护_java web项目请求控制及简单漏洞防范

    背景:当时项目没用什么框架,过滤器,请求限制等都需要自己手写. 1.请求加时间戳 在后台过滤器中可以加判断,如果请求时间戳与服务器时间相差太大,可以返回异常,具体情况可以具体使用. 请求中加时间戳的示 ...

  5. java五子棋难度_Java小项目之:五子棋,你下棋下得过电脑吗?

    Java小项目之:五子棋,你下棋下得过电脑吗? Java五子棋功能要求: 1.创建窗口和设计一个棋盘界面 2.实现鼠标点击,棋子出现,黑白棋轮流下 3.能够判断五子相连输赢 4.添加重新开始,悔棋,退 ...

  6. java zip 创建目录_Java实现Zip压缩目录中的所有文件

    java中将一个文件夹下所有的文件压缩成一个文件,然import java.io.*; import java.util.zip.*; public class CompressD { // 缓冲 s ...

  7. Java excel 比较_java 实现两excel(或csv)文件的比对(以某几列作为键值,比对指定列的值差异)...

    [实例简介] Main为启动类,现在只是将比对差异的内容输出到控制台 搭建项目时,记得将lib文件夹下面的jar添加到classpath中 [实例截图] [核心代码] CompareExcel └── ...

  8. java导出类_java导出excel工具类

    java导出excel须要使用HSSFWorkbook这个类,须要导入poi-3.6-20091214.jar 工具类调用例如以下: package com.qlwb.business.util; i ...

  9. java导出证书_Java导出和导入证书 | 学步园

    Java导出和导入证书 导出和导入证书 为了解释清楚如何输出和输入证书,我会使用我自己的 HTTPS 服务器.这个服务器在第一部分中讨论过.然后,跟着下面的内容开始: 1.运行 HTTPS 服务器,像 ...

最新文章

  1. WSL2问题汇总:转换为WSL2、WSL2代理、安装MySQL等
  2. ble串口程序设计流程图_流程图程序设计的步骤
  3. 云原生环境下对“多活”架构的思考
  4. 5.2 各种类型的Attention: 原理、计算流程
  5. 数据--第53课 - 扩展学习
  6. 安装phpDocumentor
  7. 用于旅行商问题的离散布谷鸟算法
  8. python标准库abc的实用技巧
  9. 配置vhost、https、重定向
  10. Windows动态链接库DLL和静态库的原理以及创建方法
  11. DBLink应用速成
  12. SEO工具:免费快速排名软件大全!
  13. 树莓派4B安装系统及开热点
  14. 扫宽、分辨率和扫描时间
  15. 唉~看看google搜索的两个关键字的结果吧
  16. 大话赛宁云 | 培训服务打造实战型网络安全人才
  17. 基于php的宠物医院管理系统的设计与实现,php宠物医院信毕业设计息管理系统
  18. System Center 2019 - Virtual Machine Manager (VMM) 的系统要求
  19. ‘gbk‘ codec can‘t decode byte 0xa7 in position 40: illegal multibyte sequenc
  20. 全网最详细的Android实现三方分享ShareSDK分享功能

热门文章

  1. 微信小程序侧边栏滑动特效(左右滑动)
  2. 1.1内置数据类型概述
  3. [转发] 老叶观点:MySQL开发规范之我见
  4. Java实现两个csv文件的对比_Java实现CSV文件差异对比
  5. cordova与android通信_5:Cordova与原生交互--传值
  6. C语言经典迭代算法之求解函数定积分(详解)
  7. Python稳基修炼的经典案例8(计算机二级、初学者必须掌握的例题)
  8. Python基于值的内存管理真相
  9. 使用Python内置集合对象和内置函数filter()过滤无效书评
  10. 对Python列表进行封装和二次开发实现自定义栈结构