В настоящее время работает над программой, которая читает статистику от футболистов, конвертирует данные в двоичный файл и записывает все это в файл. Проблема, с которой я столкнулся, заключается в разборе всех различных типов данных, содержащихся в файле, который я читаю. Файл, в котором я читаю, будет иметь следующий формат - lastName yearsExp позиция рост вес 40ydSpeed команда активна? Примером того, как это будет выглядеть, является следующий файл: Брэди, 14, QB, 1, 210, 4.9, Патриоты, правда Мне интересно, как выполнить синтаксический анализ различных типов данных, int, char, double, Stringи логическое значение.
Пока моя программа просит пользователя ввести файл, и она перехватывает любые исключения FileNotFoundException из недопустимых файлов и зацикливается до тех пор, пока не будет введен правильный файл. Затем программа читает файл и сохраняет его в виде списка.
public static void main(String[] args) throws IOException {
File file;
Scanner inputFile;
Scanner readFile;
String line;
String fileName;
int x = 1;
ArrayList<String> stats = new ArrayList<String>();
do {
Scanner kb = new Scanner(System.in);
System.out.println("Please enter the name of a " +
"file containing football player data:");
fileName = kb.nextLine();
try {
file = new File(fileName);
inputFile = new Scanner(file);
while(inputFile.hasNext()) {
stats.add(inputFile.nextLine());
}
x=2;
}
catch (FileNotFoundException e)
{
System.out.print("File not found. ");
}
}
while(x==1);
for (String s : stats) {
System.out.println(s);
}
// TODO use the following methods for writing to binary
// TODO writeUTF, writeInt, writeChar, writeInt, writeInt, writeDbl, writeByte