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 package info.magnolia.cms.util;
35
36 import java.io.BufferedReader;
37 import java.io.File;
38 import java.io.FileNotFoundException;
39 import java.io.FileReader;
40 import java.io.IOException;
41 import java.util.ArrayList;
42 import java.util.Iterator;
43 import java.util.List;
44
45
46
47
48
49
50 public class TextFileUtil {
51
52 public static List<String> getTrimmedLinesMatching(String fileName, String regExp) {
53 final List<String> lines = getLines(fileName);
54 final List<String> matchingLines = new ArrayList<String>();
55 String currentLine = null;
56 for (Iterator<String> iterator = lines.iterator(); iterator.hasNext();) {
57 currentLine = iterator.next().trim();
58 if (currentLine.matches(regExp)) {
59 matchingLines.add(currentLine);
60 }
61 }
62 return matchingLines;
63 }
64
65 public static List<String> getLines(String fileName) {
66 final List<String> names = new ArrayList<String>();
67 BufferedReader jaasConfig = null;
68 try {
69 final File file = new File(fileName);
70 if (!file.exists()) {
71 throw new FileNotFoundException(fileName);
72 }
73
74 jaasConfig = new BufferedReader(new FileReader(fileName));
75
76 String dataRow = jaasConfig.readLine();
77
78 while (dataRow != null) {
79 names.add(dataRow);
80 dataRow = jaasConfig.readLine();
81 }
82 } catch (IOException e) {
83 throw new RuntimeException(e);
84 } finally {
85 try {
86 if (jaasConfig != null) {
87 jaasConfig.close();
88 }
89 } catch (IOException e) {
90 throw new RuntimeException(e);
91 }
92 }
93 return names;
94 }
95 }