Я работаю над простым редактором уровней для своей Android-игры. Я написал графический интерфейс (который рисует сетку) с помощью swing. Вы нажимаете на квадраты, где вы хотите поместить плитку, и она меняет цвет. Как только вы закончите, вы пишете все в файл.Чтение значений Integer из файла (Java)
Мой файл состоит из чего-то вроде следующего (это просто пример):
Я использую звездочки, чтобы определить номер уровня был прочитан и дефис, чтобы сказать читателю, чтобы остановить чтение ,
Прочитайте мой файл . Код приведен ниже, если выбрать, какую часть читать работает ОК - например. если я прохожу в 2, выполнив следующие действия:
readFile(2);
Затем он печатает все символы во 2-й секции
То, что я не могу понять, как только я попал в «старт ', как я действительно читаю числа как целые числа и не отдельных символов?
Код
public void readFile(int level){
try {
//What ever the file path is.
File levelFile = new File("C:/Temp/levels.txt");
FileInputStream fis = new FileInputStream(levelFile);
InputStreamReader isr = new InputStreamReader(fis);
Reader r = new BufferedReader(isr);
int charTest;
//Position the reader to the relevant level (Levels are separated by asterisks)
for (int x =0;x<level;x++){
//Get to the relevant asterisk
while ((charTest = fis.read()) != 42){
}
}
//Now we are at the correct read position, keep reading until we hit a '-' char
//Which indicates 'end of level information'
while ((charTest = fis.read()) != 45){
System.out.print((char)charTest);
}
//All done - so close the file
r.close();
} catch (IOException e) {
System.err.println("Problem reading the file levels.txt");
}
}
Спасибо! это отлично работает :-) – Zippy