Ls.java
1. package futils;
2. import java.awt.*;
3. import java.io.*;
4. import java.util.*;
5.
6. // class is designed to support the word print
7. // merge feature. Just cut and paste the output
8. // of this program into a word document and
9. // perform the file print merge.
10. // slick!
11. public final class Ls {
12.
13. // prevent instantiation
14. private Ls () {}
15.
16. public static File [] getDirFiles(File dir) {
17. String [] dirNames = getDirNames(dir);
18. File [] dirFiles = new File[dirNames.length];
19. for (int i=0; i <dirNames.length; i++) {
20. dirFiles[i] = new File(dirNames[i]);
21. }
22. return dirFiles;
23. }
24. public static String [] getDirNames() {
25. return getDirNames(Futil.getDirFile());
26. }
27.
28. static public String [] getDirNames(File dir) {
29. String absPath = dir.getAbsolutePath();
30. String dirNames[] = dir.list(new DirFilter());
31. for (int i = 0 ; i < dirNames.length; i++) {
32. dirNames[i] = absPath + dirNames[i];
33. }
34. return dirNames;
35. }
36.
37. static public String getDirName() {
38. FileDialog fileDialog =
39. new FileDialog(new Frame(), "select file");
40. fileDialog.show();
41. String dirName = fileDialog.getDirectory();
42. fileDialog.dispose();
43. return dirName;
44. }
45.
46.
47. static public void DirsToConsole() {
48. System.out.println("Ls.DirsToConsole");
49. String[] dirs = getDirNames();
50. System.out.println(dirs.length + " dir(s):");
51. for (int i=0; i < dirs.length; i++)
52. System.out.println("\t" + dirs[i]);
53. }
54.
55. static public String[] getWildNames(String wild) {
56. File dir = Futil.getDirFile();
57. return getWildNames(dir, wild);
58. }
59.
60. static public File[] getWildFiles( String wild) {
61. return getWildFiles(
62. Futil.getReadFile(),
63. wild);
64. }
65. static public File[] getWildFiles(File dir, String wild) {
66. String [] names = getWildNames(dir, wild);
67. File files[] = new File[names.length];
68. for (int i =0 ; i < names.length; i++) {
69. files[i] = new File(names[i]);
70. }
71. return files;
72. }
73. static public String[] getWildNames(File dir, String wild) {
74. String absPath = dir.getAbsolutePath();
75. String[] fileNames = dir.list(new WildFilter(wild));
76. System.out.println("getWildNames:"+absPath);
77. for (int i=0; i < fileNames.length; i++) {
78. fileNames[i] = absPath+fileNames[i] ;
79. }
80. return fileNames;
81. }
82.
83.
84. static public void wildToConsole(String wild) {
85. String[] files = getWildNames(wild);
86. System.out.println(files.length + " file(s):");
87. for (int i=0; i < files.length; i++)
88. System.out.println("\t" + files[i]);
89. }
90.
91. static public void toConsole() {
92.
93. File dirFile = Futil.getDirFile();
94. String[] files = dirFile.list(new FileFilter());
95. System.out.println(files.length + " file(s):");
96. for (int i=0; i < files.length; i++)
97. System.out.println("\t" + files[i]);
98. }
99.
100. static public void deleteWildFiles(String wild) {
101. String[] files = getWildNames(wild);
102. System.out.println(files.length + " file(s):");
103. for (int i=0; i < files.length; i++)
104. deleteFile(files[i]);
105. }
106.
107. static public boolean deleteFile(String absPath) {
108. File fileToDelete = new File(absPath);
109. System.out.print("deleting file " + absPath);
110. if (! fileToDelete.exists()) return false;
111.
112. fileToDelete.delete();
113. return true;
114. }
115.
116. static public void WordPrintMerge() {
117. String wild = "PICT";
118. String[] files = getWildNames(wild);
119. System.out.println(files.length + " file(s):");
120. int fileNumber;
121. for (int i=0; i < files.length; i++) {
122. fileNumber = i + 1;
123. System.out.print("Figure *."+
124. fileNumber +
125. ". ÇINCLUDE hd:current:Java book:chapter I:batch 1 rev1:picts:");
126. System.out.println(files[i]+"È");
127. }
128. }
129.
130. }