是否有快速的方法在Netbeans中查找Java中的静态变量以减少初始内存?

nx7onnlm  于 2022-11-24  发布在  Java
关注(0)|答案(1)|浏览(129)

情况:
你好,多年来在我所有的项目中
我一直在使用静态变量,使代码相互对话。
条件:
我特别使用Netbeans。但是你可以分享其他IDE解决方案,这样人们就可以看到了。
问题:
有没有办法把他们都找出来?
所以我可以把它们转换成函数,来减少一些初始内存。

5hcedyr0

5hcedyr01#

我找不到一个IDE解决方案来帮助编码员。所以,我想出了自己的答案。

  • 递归查找所有java文件
  • 把它们读成线
  • 有选择地将它们记录到文本文件中

以下是一个示例:

package com.tugalsan.tryout5;

import com.tugalsan.api.file.server.*;
import com.tugalsan.api.file.txt.server.*;
import java.nio.file.*;
import java.util.stream.*;

public class Run {

    public static void main(String... args) {
        var parentDirectory = Path.of("C:\\me\\codes\\GWT");
        var results = parentDirectory.resolve("results.log");
        TS_FileUtils.deleteFileIfExists(results);
        var append = true;
        var fileNameMatcher = "*.java";
        var sorted = false;
        var recursive = true;
        TS_DirectoryUtils.subFiles(parentDirectory, fileNameMatcher, sorted, recursive).forEach(javaFile -> {
            var lines = TS_FileTXTUtils.toArrayList(javaFile);
            IntStream.range(0, lines.size())
                    .filter(idx -> lines.get(idx).contains("static"))
                    .filter(idx -> !lines.get(idx).contains("import"))
                    .filter(idx -> !lines.get(idx).contains("class"))
                    .filter(idx -> !lines.get(idx).contains("interface"))
                    .filter(idx -> !lines.get(idx).contains("("))
                    .forEach(idx -> {
                        var line = lines.get(idx);
                        var logLine = String.join("", javaFile.toString(), ", ", String.valueOf(idx), ", ", line, "\n");
                        TS_FileTXTUtils.toFile(logLine, results, append);
                    });
        });
    }
}

github处的完整代码

相关问题