我正在處理一個檔案以將資訊存盤在應用程式中。例如,考慮一個檔案 .txt,其中包含以下專案作為字串:
[ value 1, value 2, value 3, value 4, ... value 500, ]
我的應用程式在這個閱讀程序中應該非常快,我正在尋找一種方法來只讀取這個檔案的一個范圍,例如從第 0 項到第 20 項。你有沒有辦法在不拋出整個值的情況下做到這一點檔案到一個var?我想在達到限制后立即停止閱讀。目前我用路徑提供者這樣做:
Future<String> load() async {
final Directory directory = await getApplicationDocumentsDirectory();
final File file = File('${directory.path}/names.txt');
return await file.readAsString();
}
uj5u.com熱心網友回復:
如果您只想讀取檔案的一部分,則需要隨機訪問,因此您需要使用File.open/File.openSync來獲得RandomAccessFile:
var file = File('path/to/file');
var randomAccessFile = file.openSync();
try {
var bytes = randomAccessFile.readSync(20); // Read the first 20 bytes.
...
} finally {
randomAccessFile.closeSync();
}
或者,您可以使用File.openRead創建一個Stream讀取指定檔案的一部分的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/458925.html
下一篇:從檔案中快速讀取字串直到0x00
