文本文件太大而无法读取

时间:2019-04-02 09:39:12

标签: c#

我不读取大数据文本文件。我的文件约为2GB。但是,我读取的最大文件大小为200MB。这是C#中的操作方法。帮帮我。

var _a = require('../data/index.js'), patientData = _a.patientData, gpData = _a.gpData, ailmentData = _a.ailmentData, surgeryData = _a.surgeryData;
var seed = function (knex, Promise) { return knex.migrate
    .rollback()
    .then(function () { return knex.migrate.latest(); })
    .then(function () {
    var surgeries = knex('surgeries')
        .insert(surgeryData);
    var patients = knex('patients').insert(patientData).returning('*');
    var gps = knex('gps').insert(gpData).returning('*');
    return Promise.all([surgeries, patients, gps]);
})
    .then(function (_a) {
    var patients = _a[0], gps = _a[1];
    console.log(patients, '<-- patients');
    console.log(gps, '<-- GPs');
    // const ailments = knex('ailments').insert
    // (ailmentData).returning('*')
    return knex('surgeries', 'gps', 'patients')
        .returning('*');
}); };

}

1 个答案:

答案 0 :(得分:0)

您在这里通过以下行浪费内存:

richTextBox1.Text += "some_string";

字符串是不可变的,因此每次执行此操作时,您都在分配新内存,其大小为现有Text字符串加上连接字符串的大小,然后将旧字符串丢弃。垃圾收集器将回收此内存,但它不一定足够快地执行该操作,以免耗尽进程的可用内存。

至少,请尝试使用StringBuilder构建此字符串,并在循环后分配一次给文本框。

您可能仍然会遇到内存耗尽的情况,因为在窗口中显示文本的上下文中仍然会加载2GB字符串。