-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathFileIO.java
More file actions
73 lines (54 loc) · 1.93 KB
/
FileIO.java
File metadata and controls
73 lines (54 loc) · 1.93 KB
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
68
69
70
71
72
package psl.habitats;
import java.io.*;
import java.util.*;
public class FileIO {
String[][] data;
int[] cols;
int[] rows;
int numCols;
int numRows;
/* constructor - read and parse input file, stroing data to data array */
public FileIO() { }
public Hashtable readFile(String inputFilename, String delimiter) {
Hashtable h = new Hashtable();
try {
FileReader fr = new FileReader(inputFilename);
BufferedReader input = new BufferedReader(fr);
String currentLine;
// read first line of file
currentLine = input.readLine();
// store data to array
while (currentLine!=null) {
StringTokenizer stok =
new StringTokenizer(currentLine, delimiter);
h.put(stok.nextToken(), stok.nextToken());
// read next line of file
currentLine = input.readLine();
}
} catch (FileNotFoundException e) {
System.out.println("File not found: " + e.toString());
} catch (IOException e) {
System.out.println("IOException : " + e.toString());
} catch (NumberFormatException e) {
System.out.println("Invalid Data: " + e.toString());
}
return h;
}
// write new datafile with only 'n' attributes per sample and a
// label for each sample
public void writeFile(String outputFilename, String habitatName) {
try {
FileWriter fw = new FileWriter(outputFilename);
PrintWriter output = new PrintWriter(fw);
output.println(habitatName);
output.flush();
fw.close();
} catch (FileNotFoundException e) {
System.out.println("File not found: " + e.toString());
} catch (IOException e) {
System.out.println("IOException : " + e.toString());
} catch (NumberFormatException e) {
System.out.println("Invalid Data: " + e.toString());
}
}
} // FileIO