аналог fscanf в Java

bastii

как лучше прочесть из файла последовательность числел (через запятую) в Java
пока в голову приходит один изврат:
открыть файл через BufferReader, затем считывать по строчке, разбить на цисла с помощью split и отпарсить в double
может в Java есть то, что поможет, но я этого не знаю?

livemix

Посмотри класс java.io.StreamTokenizer . может он тебе пригодится.

bastii

спасибо, прикольный класс
хотя мне все равно нужен массив чисел, причем можно считать что в файле нет левых белых символов
буду делать через split

Julie16

Написать конечный автомат. Наиболее эффективное по скорости/памяти решение.

bastii

ага, взять antlr, сгенерировать лексер
только ведь сложно, и опять повторяю, что нужно получить массив чисел (в смысле double[])

sergey_m

> Написать конечный автомат. Наиболее эффективное по скорости/памяти решение.
Ха-ха! И еще говорят, что Java язык супервысокого уровня, где программист реально занимается решением своей задачи, а не написанием примитивов.

Julie16

Зачем? Вручную за 10 минут пишется... Причем это реально удобно. Можно читать файл поблочно. Можно это вообще обобщить на любой поток...

Julie16

Я это говорил безотносительно к языку... Вообще, так сказать.

Dasar

Зачем самим писать автомат?
Берешь любой генератор лексеров/парсеров и за несколько минут получаешь автомат, вместо со всеми вспомогательными классами.

bastii

из генераторов я пользуюсь antlr
вот, если кто пользовался еще чем, интересно сравнить

rosali

Под Яву есть аналог lex/yacc, называется CUP (Compiler of Useful Parsers )

bastii

А кто-нибудь с antlr работал? Просто я хотел бы услышать сравнение его с другими. Сам им пользуюсь и очень доволен.

anton7805

как лучше прочесть из файла последовательность числел (через запятую) в Java
пока в голову приходит один изврат:
открыть файл через BufferReader, затем считывать по строчке, разбить на цисла с помощью split и отпарсить в double
может в Java есть то, что поможет, но я этого не знаю?
Это кстати и будет самый быстрый способ. Через StreamTokenizer больше гемора обретешь. Недавно сам похожее делал

anton7805

Ха-ха! И еще говорят, что Java язык супервысокого уровня, где программист реально занимается решением своей задачи, а не написанием примитивов.
так оно и есть, просто джава для других целей предназначен. Согласись , что распределенные системы на java писать куда приятней чем на сях

bastii

Согласны. Вот только если бы Sun не так сильно нос задирала, а усиленно работала над улучшением Java, то все было бы куда лучше чем сегодня.

anton7805

sun итак усилинно работает над ней, правда не всегда успешно-) пример тому jdr 1.5 который мягко говоря не совсем совместим с ранними версиями

bastii

что такое jdr?

anton7805

Описка, я имел ввиду jdk

bastii

а когда они были совместимы?

livemix

не всегда успешно-) пример тому jdk 1.5 который мягко говоря не совсем совместим с ранними версиями
Неужели так сильно не совместим? Где, например?

Hastya

по-моему, совместим вплоть до байткода.

durka82

Пример можно?
Мне на ум приходит разве что использование закрытых API, но про них SUN всегда утверждал, что их использовать не стоит, так как никаких гарантий их сохранности в будущем нету.
А так все устаревшее переводится в разряд не рекомендуемого к использованию, но кроме варнингов при компиляции это ни на что не влияет.

bastii

примера не знаю,
один знакомый постоянно жалуется, что аплеты писать приходится по-разному в зависимости от версии, да иногда в инете наталкиваюсь на такие замечания
лично мне пох, я вообще уже давно перелез на 5 версию и слабо представляю как мог прогать на 1.4

ray144

лично мне пох, я вообще уже давно перелез на 5 версию и слабо представляю как мог прогать на 1.4
На какую?

Julie16

После версии 1.5 они решили убрать 1. с начала номера версии.

ray144

bastii

просто теперь они называют не 1.5, а 5.0, маркетинг
но везде в jre и jdk осталось 1.5
еще я заметил, что ты юзаешь альфу 1.6
вот хочу спросить, что там нового

ray144

Ладно, моя шутка не удалась. Ничего, сам пошутил - сам посмеялся...

ray144

Вообще-то мой javaw.exe (или javaws.exe?) показывает

Early Access, то есть. Альфы, думаю, ещё нет. Остальное - дело рук mspaint.exe. Чем Java 6 отличается от Java 5 - я не знаю.

bastii

а я знаю, что есть
можно даже скачать
поэтому и спросил

durka82

один знакомый постоянно жалуется, что аплеты писать приходится по-разному в зависимости от версии, да иногда в инете наталкиваюсь на такие замечания
У аплетов мб такая фигня, что не понятно, какая версия jre стоит на клиенте.
И далеко не каждый захочет скачивать новый jre.
Особенно это касается наличия в установленном jre swing-а.
Оставить комментарий
Имя или ник:
Комментарий: