复制java代码并除去空行和注释

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;

public class Readjavafile {
	/*获取当前项目根路径
	 * */
	public static  final String rootpath = System.getProperty("user.dir");
	
	public static List<String> getfilepath(){
		List<String> li=new ArrayList<String>();
        File[] list = new File(rootpath).listFiles();
        for(File file : list)
        {
           if(file.isFile())
           {
               if (file.getName().endsWith(".java")) {
                   // 就输出该文件的绝对路径
            	   String st=file.getAbsolutePath();
                   System.out.println(st);
                   li.add(st);
               }

           }
        }
    
		return li;
	}
	
	public static void inputtxt() throws IOException{
		String fileName = rootpath+"\\java.txt";
		File f=new File(fileName);
		OutputStream out = new FileOutputStream(f,true);//true表示是在文件后面追加内容,而不是覆盖。默认的是覆盖
		List<String> li=getfilepath();
		for(String st :li){
			File file = new File(st);
			Long fileLength = file.length();
			byte[] fileContext = new byte[fileLength.intValue()];
			FileInputStream in = new FileInputStream(st);
			in.read(fileContext);
			String str = new String(fileContext);
			str = str.replaceAll("\\/\\*[\\w\\W]*?\\*\\/|\\/\\/.*", "");/* "\\/\\*[\\s\\S]*\\*\\/|\\/\\/.*"   两个都能除去注释*/
			str = str.replaceAll("\r\n	*\r\n", "\r\n");
			str = str.replaceAll("\r\n *\r\n", "\r\n");
			str = str.replaceAll("\r\n\r\n", "\r\n");
			str=str+"\r\n";
			byte[] bs = str.getBytes();
			for(int i = 0 ; i < bs.length ; i++){
				out.write(bs[i]);
			}
		}
		out.close();
	}
	
    public  static void main(String[] args) throws IOException{
    	inputtxt();
    	System.out.println("完成!");
    }    
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java代码空行软著是一种用于删除Java代码文件空行的软著方案。在编写Java代码时,经常会在代码添加一些空行来提高可读性和分隔不同的代码块。然而,在代码提交到代码仓库或共享给其他人之前,通常需要去除这些空行,以减小代码文件的大小和提高代码的可维护性。 为了实现这个目标,可以编写一个Java程序来读取和处理Java代码文件。该程序可以使用Java文件读写API来读取源代码文件,并使用正则表达式或字符串处理方法来删除空行。具体的步骤如下: 1. 打开源文件:使用Java文件输入流(FileInputStream)或BufferedReader类打开源代码文件,并创建一个文件输出流(FileOutputStream)或BufferedWriter类来保存处理后的代码文件。 2. 逐行读取源文件:使用readLine()方法逐行读取源代码文件的内容。在读取每一行之前,应该检查该行是否为空行。 3. 去除空行:对于非空行,将其写入处理后的代码文件。可以使用正则表达式"\S"来判断一行是否为空行,即只包含空白字符的行。 4. 关闭文件流:在处理完所有行之后,关闭输入和输出的文件流。 在实际使用该软著方案时,可以将这段代码封装成一个工具类,提供一个静态方法供其他程序调用。这样,在需要去除空行的时候,只需要调用该方法,并传入待处理的代码文件路径即可。 尽管这个软著方案是简单且常见的,但是由于其从源代码文件删除空行这一处理操作,可以视为对Java代码的二次创作,因此可能需要根据国家的软件著作权法律规定,通过向相关政府机构提交软件著作权申请来确保合法权益。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值