- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
reader = new BufferedReader(new FileReader(file));
//null means file end
while ((tempString = reader.readLine()) != null) {
if(tempString !=null && tempString.indexOf('=')>0){
sheet.addCell(new Label(KEY_COLUMN,++ROW, tempString.substring(0,tempString.indexOf('='))));
sheet.addCell(new Label(ENGLISH_COLUMN,ROW, tempString.substring(tempString.indexOf('=')+1)));
}
}
reader.close();
да еще и отображение сразу при чтении.
а вот substring лучше чем split
Ну подумаешь reader.close(); не в finally
За исключением того, что это велосипед.
По меркам говнокода - да. Типа расчитано на то пока все пишут так
a=b
c=d
В реальных проектах я и похуже видел:
Вместо tempString.indexOf('something') было магическое число
tempString.substring(MAGIC_NUMBER_VALUE)
Потому это относительно нормальный парсинг. И в любом случае - говно, только потому что велосипед.
Зато в файле ровные колонки.
Код так и работает до сих пор. xml.substring(38)
Решение говнозадачи говносредствами.
То, что сантехники когда-то ниасилили Юникод - не аргумент. Класс Properties сто лет как поддерживает указание кодировки.
А то, что эти файлы с кем-то там в сферическом вакууме будут несовместимы - ну и шут с ними. Мы же их для себя пишем. Геморрой с native2ascii - прошлый век.
Вот GWT вообще требует, чтобы .properties были в UTF-8.
Во всём JDK уже почти все методы, которые перекодируют байтовые последовательности в символьные без указания кодировки, помечены как deprecated.
Ну, остался ещё FileReader, последний из могикан.
И почему 1.4.2? Где вы откопали такое говно мамонта?
а где упоминается 1.4.2?
А оно неявно закрывается?
Я уже давно написал себе небольшой статик-метод.
Потому пробуем закрыть input, где душим исключение, но пишем его в лог.