source: main/trunk/greenstone3/src/java/org/greenstone/util/ScriptReadWrite.java@ 25387

Last change on this file since 25387 was 22085, checked in by sjm84, 14 years ago

Created a util package from classes that could be useful outside of their original packages

  • Property svn:keywords set to Author Date Id Revision
File size: 3.2 KB
Line 
1package org.greenstone.util;
2
3import java.io.BufferedReader;
4import java.io.BufferedWriter;
5import java.io.File;
6import java.io.FileReader;
7import java.io.FileWriter;
8import java.io.PrintWriter;
9import java.util.ArrayList;
10import java.util.StringTokenizer;
11
12public class ScriptReadWrite {
13
14 public ScriptReadWrite() {
15 }
16
17 public ArrayList readInFile(File file) {
18 try {
19 ArrayList fileLines = new ArrayList();
20 String oneLine = null;
21 BufferedReader bufferedReader = new BufferedReader(new FileReader(file));
22 while ((oneLine = bufferedReader.readLine()) != null) {
23 fileLines.add(oneLine);
24 }
25 bufferedReader.close();
26 return fileLines;
27 } catch (Exception e) {
28 System.err.println("exception:" + e);
29 return null;
30 }
31 }
32
33 public void writeOutFile(File file, ArrayList fileLines_in) {
34 try {
35 PrintWriter printWriter = new PrintWriter(new BufferedWriter(new FileWriter(file)));
36 for (int i = 0; i < fileLines_in.size(); i++) {
37 printWriter.println(fileLines_in.get(i));
38 }
39 printWriter.flush();
40 printWriter.close();
41 } catch (Exception e) {
42 System.err.println("exception:" + e);
43 }
44 }
45
46 public ArrayList queryReplace(ArrayList fileLines_ex, String param,
47 String newValue) {
48 // only replace existing, don't append if param does not exist
49 return replaceOrAddLine(fileLines_ex, param, newValue, false);
50 }
51
52 // if the parameter exists, then a replace is performed, else the parameter-value
53 // is appended
54 public ArrayList replaceOrAddLine(ArrayList fileLines_ex, String param, String newValue,
55 boolean replaceElseAdd)
56 {
57 String oneLine = null;
58 String newLine = null;
59 String name = null;
60 // int oneLine_length = 0;
61 param = param.trim();
62 // int param_length = param.length();
63
64 for (int i = 0; i < fileLines_ex.size(); i++) {
65 oneLine = ((String) fileLines_ex.get(i)).trim();
66 // oneLine_length = oneLine.length();
67 StringTokenizer st = new StringTokenizer(oneLine, "=");
68 if (st.hasMoreTokens()) {
69 name = st.nextToken();
70 if (param.equals(name)) {
71 newLine = param + "=" + newValue;
72 fileLines_ex.set(i, newLine);
73 replaceElseAdd = false; // replaced, no longer need to add in any case
74 break;
75 }
76 }
77 }
78 // If we've made no replacement and need to append the new item
79 if(replaceElseAdd) {
80 fileLines_ex.add(param+"="+newValue);
81 }
82 return fileLines_ex;
83 }
84
85 public String existValue(ArrayList fileLines, String querytext) {
86 String retValue = null;
87 String oneline = null;
88 String name = null;
89 // String value=null;
90 // int oneline_length = 0;
91 querytext = querytext.trim();
92 // int querytext_length = querytext.length();
93 for (int i = 0; i < fileLines.size(); i++) {
94 oneline = ((String) fileLines.get(i)).trim();
95 // oneline_length = oneline.length();
96 StringTokenizer st = new StringTokenizer(oneline, "=");
97 if (st.hasMoreTokens()) {
98 name = st.nextToken();
99 if (querytext.equals(name)) {
100 if (st.hasMoreTokens()) {
101 retValue = st.nextToken();
102 retValue = retValue.trim();
103 if (retValue.equals("")) {
104 retValue = null;
105 }
106 } else {
107 retValue = null;
108 }
109 break;
110 }
111 }
112 }
113 return retValue;
114 }
115}
Note: See TracBrowser for help on using the repository browser.