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

Last change on this file since 25635 was 25635, checked in by sjm84, 12 years ago

Fixing Greenstone 3's use (or lack thereof) of generics, this was done automatically so we may want to change it over time. This change will also auto-format any files that have not already been formatted.

  • 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<String> readInFile(File file) {
18 try {
19 ArrayList<String> fileLines = new ArrayList<String>();
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<String> 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<String> queryReplace(ArrayList<String> 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<String> replaceOrAddLine(ArrayList<String> 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 = 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.