1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67 | package Torello.Java.Build;
import Torello.Java.StrPrint;
import Torello.Java.FileRW;
import Torello.Java.FileNode;
import Torello.Java.RTC;
import Torello.Java.Q;
import static Torello.Java.C.BGREEN;
import static Torello.Java.C.BRED;
import static Torello.Java.C.BYELLOW;
import static Torello.Java.C.RESET;
import java.util.Iterator;
import java.util.Vector;
import java.util.function.IntFunction;
import java.io.File;
import java.io.IOException;
class LineLengths
{
static void check(String directoryName) throws IOException
{
Iterator<String> javaFiles = FileNode
.createRoot(directoryName)
.loadTree(-1, (File dir, String fileName) -> fileName.endsWith(".java"), null)
.flattenJustFiles(RTC.FULLPATH_ITERATOR());
while (javaFiles.hasNext())
{
String fileName = javaFiles.next();
Vector<String> lines = FileRW.loadFileToVector(fileName, true);
boolean hadMatch = false;
IntFunction<String> zeroPad = (lines.size() < 999)
? StrPrint::zeroPad
: StrPrint::zeroPad10e4;
System.out.println("Checking File: " + BYELLOW + fileName + RESET);
for (int i=0; i < lines.size(); i++)
if (lines.elementAt(i).length() > 100)
{
String l = lines.elementAt(i);
System.out.print(
"Line-Number: " +
// NOTE: add one to the line number, when printing it. The lines
// vector index starts at zero, not one.
'[' + BGREEN + zeroPad.apply(i + 1) + RESET + ", " +
"Has Length: " + BRED + l.length() + RESET + '\n' +
// Print the line
l
);
hadMatch = true;
}
if (hadMatch) if (! Q.YN("continue?")) System.exit(0);
}
}
}
|