こんにちは私はnetbeans7を持っていますが、プロジェクトの合計行数を計算する方法を考えていました。私はグーグルを調べましたが、それをするたびに行き止まりか機能していないプラグインしか見つかりません。誰かが行を数える方法を知っていますか?
5 に答える
7.1で動作するwordcount - 8.2で動作するwordcount を使用できます。
単語数を設定するには、Tools-> Options->に移動しますMiscellaneous。
JavaとGroovy以外のファイルを一致させる場合は、変更する必要があります。Accept filename
カウントウィンドウを表示するには、Window->に移動しますOpen WordCount Window。
統計を表示するには、WordCounting(2番目のボタン)をクリックします。で選択したディレクトリの統計を表示しますProjects (window)(パッケージまたはソースパッケージやWebページのようなものである必要があります。プロジェクトを選択すると機能しません)。
また、Linuxを使用している場合は、次のコマンドを実行するだけです。
find . -name '*.java' | xargs wc -l
これは非常に古い質問ですが、プラグインのインストールを伴わないNetBeansプロジェクトの行数を見つける簡単な方法があります。
- 行数を確認するフォルダーまたはパッケージを右クリックします。
注:プロジェクト自体を右クリックしないでください。生成されたすべてのファイルの行数もカウントされます。 - またはをクリックする
Find
かFind in Files
、を押しCtrlFます。 Match
ドロップダウンがに設定されていることを確認してくださいRegular Expression
。\n
検索ボックスに入力します。- 検索を押すと、プロジェクトの行数が
Search Results
タブの上部に表示されます。
注:NetBeansでは、5000件の結果が出ると検索が停止するため、プロジェクトがそれより長い場合、この方法は機能しません。
カットアンドペーストの答えを期待していました。だから私は1つ書いた。
編集:数百万行のコードをサポートします。外部ライブラリは必要ありません。
public static void main(String[] args) throws FileNotFoundException {
final String folderPath = "D:\\Dev\\MYPROJECT\\src";
long totalLineCount = 0;
final List<File> folderList = new LinkedList<>();
folderList.add(new File(folderPath));
while (!folderList.isEmpty()) {
final File folder = folderList.remove(0);
if (folder.isDirectory() && folder.exists()) {
System.out.println("Scanning " + folder.getName());
final File[] fileList = folder.listFiles();
for (final File file : fileList) {
if (file.isDirectory()) {
folderList.add(file);
} else if (file.getName().endsWith(".java")
|| file.getName().endsWith(".sql")) {
long lineCount = 0;
final Scanner scanner = new Scanner(file);
while (scanner.hasNextLine()) {
scanner.nextLine();
lineCount++;
}
totalLineCount += lineCount;
final String lineCountString;
if (lineCount > 99999) {
lineCountString = "" + lineCount;
} else {
final String temp = (" " + lineCount);
lineCountString = temp.substring(temp.length() - 5);
}
System.out.println(lineCountString + " lines in " + file.getName());
}
}
}
}
System.out.println("Scan Complete: " + totalLineCount + " lines total");
}
結果は次のようになります。
(truncated)
47 lines in WarningLevel.java
Scanning design
1367 lines in ProcessResultsFrame.java
83 lines in TableSettingPanel.java
Scanning images
Scanning settingspanel
67 lines in AbstractSettingPanel.java
215 lines in AdvancedSettingsPanel.java
84 lines in BaseSettingsPanel.java
451 lines in DatabasePanel.java
488 lines in EmailPanel.java
458 lines in FTPGUIPanel.java
482 lines in FTPScheduledTaskPanel.java
229 lines in GUISettingPanel.java
87 lines in RootSettingJPanel.java
722 lines in ServerVisualIdentificationSettingPanel.java
Scan Complete: 123685 lines total
何か足りないものがある場合はお知らせください。できる限り修正いたします。ありがとう!
Javaプロジェクトにはソースコードメトリックを使用できます。
@ジョナサン、私はあなたのシンプルだが便利なLOCカウントプログラムが好きでした。プロジェクトで使用しているときに、スキャナーが常に正しい行数をカウントするとは限らず、特定のファイルの1行もカウントしない場合がありました。少し調べてみると、Javaスキャナーがファイル全体を調べていないというこの記事にたどり着きました。Scannerには、さまざまなエンコーディングでいくつかの問題があるようです。これを回避し、プログラムの信頼性を高めるために、スキャナーを次のようにBufferedReaderに置き換えることをお勧めします。
[...]
// final Scanner scanner = new Scanner(file);
// while (scanner.hasNextLine()) {
// scanner.nextLine();
// lineCount++;
// }
InputStream is = new FileInputStream(file);
BufferedReader br = new BufferedReader(new InputStreamReader(is));
while (br.readLine() != null) {
lineCount++;
}
[...]