2010-08-29 4 views
2

Как и большинство других людей, я много разбираюсь в файлах ввода-вывода, и я хотел убедиться, что я не теряю время на чтение файла. В настоящее время я знаю FileReader() как наиболее эффективный способ читать файлы на Java, но я надеялся, что будет что-то неясное, что было бы лучше.Самый эффективный способ чтения файлов на Java?

Также вы можете пропустить чтение строки в файле на Java/C?

+0

Эффективный способ? Скорость? Являются ли линии каждой известной длиной? –

+0

Этот вопрос слишком расплывчато для ответа. Что вы пытаетесь сделать с данными? – bdonlan

+0

Эффективный с точки зрения скорости. Линии имеют известную длину. Вход для моего кода - из файлов, и я пытаюсь сократить время работы. У меня довольно эффективный алгоритм, поэтому я решил, что попытаюсь сократить время, затраченное на чтение ввода. – efficiencyIsBliss

ответ

5

Кто сказал, что FileReader является наиболее эффективным? Это не так. Оберните BufferedReader вокруг него, и вы получите сюрприз. Если файл двоичный, вы не должны использовать читателя вообще, и если эффективность является серьезной проблемой, возможно, вы даже не должны использовать файл.

+1

Право на каждый счет. –

+0

Не будет ли упаковка BufferedReader создавать дополнительные системные издержки? – efficiencyIsBliss

+0

Как именно он это сделает? Буферизация уменьшает количество системных вызовов. Вот почему мы это делаем. – EJP

Смежные вопросы