-
Notifications
You must be signed in to change notification settings - Fork 0
/
Reader.java
187 lines (169 loc) · 5.75 KB
/
Reader.java
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
import greenfoot.*;
import java.nio.file.*;
import java.nio.charset.StandardCharsets;
import java.io.*;
import java.util.*;
/**
* The Reader class, to read data in from '.txt' files.
*
* @author Matthew Hillier
* @version 1.0
*/
public class Reader
{
/**
* Returns a string read from a file.
* @param fileName The name of the file to read from.
* @param lineNum The line of the file to read from.
* @param lineIndex The index of the line to read from.
*/
public static String readStringFromFile(String fileName, int lineNum, int lineIndex)
{
String toReturn = "";
try
{
List<String> list = Files.readAllLines(Paths.get(fileName + ".txt"), StandardCharsets.UTF_8);
String[] pokemonListBattle = list.toArray(new String[list.size()]);
String currentPokemon = pokemonListBattle[lineNum];
String[] currentPokemonArray = currentPokemon.split("\\s*,\\s*");
toReturn = currentPokemonArray[lineIndex];
}
catch(Exception error)
{
System.out.println(error.getMessage());
}
return toReturn;
}
/**
* Returns an integer read from a file.
* @param fileName The name of the file to read from.
* @param lineNum The line of the file to read from.
* @param lineIndex The index of the line to read from.
*/
public static int readIntFromFile(String fileName, int lineNum, int lineIndex)
{
int toReturn = 0;
try
{
List<String> list = Files.readAllLines(Paths.get(fileName + ".txt"), StandardCharsets.UTF_8);
String[] pokemonListBattle = list.toArray(new String[list.size()]);
String currentPokemon = pokemonListBattle[lineNum];
String[] currentPokemonArray = currentPokemon.split("\\s*,\\s*");
toReturn = Integer.parseInt(currentPokemonArray[lineIndex]);
}
catch(Exception error)
{
System.out.println(error.getMessage());
}
return toReturn;
}
/**
* Returns a double read from a file.
* @param fileName The name of the file to read from.
* @param lineNum The line of the file to read from.
* @param lineIndex The index of the line to read from.
*/
public static double readDoubleFromFile(String fileName, int lineNum, int lineIndex)
{
double toReturn = 0;
try
{
List<String> list = Files.readAllLines(Paths.get(fileName + ".txt"), StandardCharsets.UTF_8);
String[] pokemonListBattle = list.toArray(new String[list.size()]);
String currentPokemon = pokemonListBattle[lineNum];
String[] currentPokemonArray = currentPokemon.split("\\s*,\\s*");
toReturn = Double.parseDouble(currentPokemonArray[lineIndex]);
}
catch(Exception error)
{
System.out.println(error.getMessage());
}
return toReturn;
}
/**
* Returns a boolean read from a file.
* @param fileName The name of the file to read from.
* @param lineNum The line of the file to read from.
* @param lineIndex The index of the line to read from.
*/
public static boolean readBooleanFromFile(String fileName, int lineNum, int lineIndex)
{
boolean toReturn = false;
try
{
List<String> list = Files.readAllLines(Paths.get(fileName + ".txt"), StandardCharsets.UTF_8);
String[] pokemonListBattle = list.toArray(new String[list.size()]);
String currentPokemon = pokemonListBattle[lineNum];
String[] currentPokemonArray = currentPokemon.split("\\s*,\\s*");
toReturn = Boolean.parseBoolean(currentPokemonArray[lineIndex]);
}
catch(Exception error)
{
System.out.println(error.getMessage());
}
return toReturn;
}
/**
* Returns the length of a file.
* @param fileName The name of the file.
*/
public static int getFileLength(String fileName)
{
int toReturn = 0;
try
{
List<String> list = Files.readAllLines(Paths.get(fileName + ".txt"), StandardCharsets.UTF_8);
String[] pokemonList = list.toArray(new String[list.size()]);
toReturn = pokemonList.length;
}
catch(Exception error)
{
System.out.println(error.getMessage());
}
return toReturn;
}
/**
* Returns the ID of a Pokemon.
* @param pokemonName The name of the Pokemon.
*/
public static int getPokemonID(String pokemonName)
{
int total = 1;
try
{
List<String> list = Files.readAllLines(Paths.get("allPokemonList.txt"), StandardCharsets.UTF_8);
String[] allPokemonList = list.toArray(new String[list.size()]);
idLoop:
for(int i = 0; i < allPokemonList.length; i++)//Have to +2 becuase whitespace is added in
{
if(allPokemonList[i].startsWith(pokemonName + ","))
{
break idLoop;
}
else
{
total++;
}
}
}
catch(IOException error)
{
System.out.println(error.getMessage());
}
if(total > 256)
{
return -1;
}
else
{
return total;
}
}
/**
* Returns the directory of the game.
*/
public String getDirectory()
{
return System.getProperty("user.dir");
}
}