Читання файлу в пам'яті відразу як масив рядків - це лише дзвінок до readlinesфункції:
julia> words = readlines("/usr/share/dict/words")
235886-element Array{String,1}:
"A"
"a"
"aa"
⋮
"zythum"
"Zyzomys"
"Zyzzogeton"
За замовчуванням це відкидає нові рядки, але якщо ви хочете зберегти їх, ви можете передати аргумент ключового слова keep=true:
julia> words = readlines("/usr/share/dict/words", keep=true)
235886-element Array{String,1}:
"A\n"
"a\n"
"aa\n"
⋮
"zythum\n"
"Zyzomys\n"
"Zyzzogeton\n"
Якщо у вас вже відкритий файл-об’єкт, ви також можете передати його readlinesфункції:
julia> open("/usr/share/dict/words") do io
readline(io) # throw out the first line
readlines(io)
end
235885-element Array{String,1}:
"a"
"aa"
"aal"
⋮
"zythum"
"Zyzomys"
"Zyzzogeton"
Це демонструє readlineфункцію, яка читає один рядок із відкритого об'єкта вводу / виводу або, коли йому надається ім'я файлу, відкриває файл і зчитує з нього перший рядок:
julia> readline("/usr/share/dict/words")
"A"
Якщо ви не хочете одразу завантажувати вміст файлу (або ви обробляєте потокові дані, наприклад, з мережевого сокета), ви можете скористатися eachlineфункцією, щоб отримати ітератор, який створює по черзі рядки:
julia> for word in eachline("/usr/share/dict/words")
if length(word) >= 24
println(word)
end
end
formaldehydesulphoxylate
pathologicopsychological
scientificophilosophical
tetraiodophenolphthalein
thyroparathyroidectomize
eachlineФункція може, наприклад readlines, також може бути дан відкритий дескриптор файлу для читання рядка з. Ви також можете "прокатати власний" ітератор, відкриваючи файл та readlineповторюючи дзвінки :
julia> open("/usr/share/dict/words") do io
while !eof(io)
word = readline(io)
if length(word) >= 24
println(word)
end
end
end
formaldehydesulphoxylate
pathologicopsychological
scientificophilosophical
tetraiodophenolphthalein
thyroparathyroidectomize
Це еквівалентно тому, що eachlineробить для вас, і рідко потрібно робити це самостійно, але якщо вам потрібно, ці можливості є. Для отримання додаткової інформації про читання символу файлу за символом див. Це запитання та відповідь: Як ми можемо використовувати Юлію для читання кожного символу .txt-файлу, по одному?