私はこれに対する答えを探していて、誰もが答える答えは常に1行ずつですが、私のファイルはすべて1行の文字だけで、io.open( "file.txt" "rb"):read( "* a")はメモリエラーを引き起こします。私が言ったように、一度にそれをロードする方法を考えることができません、そのすべての1つの巨大なライン。ルアで大きなファイル(ギグ以上)を読むにはどうしたらいいですか?
3
A
答えて
2
io.read(size)
を使用すると、指定されたサイズのバッファを読み取ることができます(コメントですでに説明したとおりです)。 example at the end of the I/O section(Programming in Lua)を参照してください。
読み込んだチャンクで検索を行っているため、検索している文字列が異なるチャンクに分割されている可能性があります。 Another example from PiL that talks about reading large filesが興味深いかもしれません。
0
あなたはバッファとして、テーブルを使用することができます。
function readFile(file)
local t = {}
for line in io.lines(file) do
t[#t + 1] = line .. "\n"
end
local s = table.concat(t)
return s
end
+0
これは 'file:read(" * a ") 。 – siffiejoe
関連する問題
- 1. MATLABで大きなファイル(〜150MB)を読み込むにはどうしたらいいですか?
- 2. ルアで全ファイルを読む
- 3. ビジュアルベーシックで.docファイルを読むにはどうしたらいいですか?
- 4. Flexで設定ファイルを読むにはどうしたらいいですか?
- 5. PHPで.tar.gzファイルを読むにはどうしたらいいですか?
- 6. iPhoneデバイスでファイルを読むにはどうしたらいいですか?
- 7. Rubyでファイルを読むにはどうしたらいいですか?
- 8. イメージファイルを読むにはどうしたらいいですか?
- 9. サーブレットフィルタからファイルに書き込んでEclipseで読み込むにはどうしたらいいですか?
- 10. WEB-INFディレクトリのファイルを読むにはどうしたらいいですか?
- 11. PHPでファイルに書き込むにはどうしたらいいですか?
- 12. Scala Streamクラスを使用して大きなCSVファイルを読むにはどうすればよいですか?
- 13. XMLファイルに書き込むにはどうしたらいいですか?
- 14. 2つ以上の好きなノードでバックボーンビューを作成するにはどうしたらいいですか?
- 15. WP7でウェブサイトから.txtファイルを読むにはどうしたらいいですか?
- 16. プレフィックスでアプリケーションプロパティファイルを読むにはどうしたらいいですか?
- 17. C++でバイナリデータを読むにはどうしたらいいですか?
- 18. swiftを使用してバンドルからAppleScriptファイルを読み込むにはどうしたらいいですか?
- 19. Gitリポジトリから大きなファイルを削除するにはどうしたらいいですか?
- 20. 大きなファイルをUNIXで繰り返し分割するにはどうしたらいいですか?
- 21. PHPで生成されたSVGファイルを読み込むにはどうしたらいいですか?
- 22. 別のプロセスで使用されているファイルを読むにはどうしたらいいですか?
- 23. ファイルからカスタムDjangoタグを読み込むにはどうしたらいいですか?
- 24. C++のポインタ構造を読むにはどうしたらいいですか?
- 25. Javaを使用してバッチで非常に大きなcsvファイル(30GB以上)を読む方法
- 26. pythonでcapファイルを効率的に読むにはどうしたらいいですか?
- 27. Rmarkdownは、以前に上書きできなかった開いたhtmlファイルやファイルを上書きしないのはなぜですか?
- 28. Visual C++ 2010プロジェクト(OpenGL)で3dsファイルを読み込むにはどうしたらいいですか?
- 29. (アンドロイド)アンドロイドのtxtファイルで単語を読むにはどうしたらいいですか?
- 30. iPhoneで大規模なUTF-8ファイルを読むにはどうすればよいですか?
をどのように '使用について:(4096)を読んで、'または類似の固定サイズのチャンクで読み取るために? – Amadan
これは基本的にstring.subと同じ働きをしますが、もし私が必要としていたものなら、ファイルを読み込むためのものです。 – 128Gigabytes
同じではなく、それ自体が順番に読み取ります。 ':seek(" set "、start)'と並行して作業すると、文字列に '.sub'を付けて実行するファイルと同じことができます。 – Amadan