package demo;

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("G:\\testApp\\src\\main\\java\\com\\test");

//文件输出路径

File target = new File("G:\\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.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();

}

}

}

}

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐