Как конвертировать текстовые файлы в двоичный файл эффективным способом в C #

Важнейшая часть здесь состоит в том, что вы объявили переменную как static, потому что статические переменные shared среди всех экземпляров класса, что требует только столько места, сколько один экземпляр переменной. Объявление переменной final делает ее неизменной вне ее объявления или конструктора.

0
задан Bernard Vander Beken 18 January 2019 в 10:35
поделиться

2 ответа

Если чтение идет медленно, то чтение, запись в другой формат файла и затем чтение из этого файла будет еще медленнее. Вы просто добавляете больше действий к чему-то медленному ... Возможно, вам стоит посмотреть, как изменить способ чтения из текстового файла.

Если вы не знакомы с тем, как сериализация / десериализация выполняется в C #, используя встроенные библиотеки, вам следует начать с прочтения этого: https://docs.microsoft.com/en-us/dotnet/ csharp / Руководство по программированию / Концепции / Сериализация /

Вот ссылка, чтобы показать, как реализовать двоичную сериализацию: https://docs.microsoft.com/en-us/dotnet/ api / system.runtime.serialization.formatters.binary.binaryformatter? view = netframework-4.7.2

Однако, если вы не пишете исходный файл, вам просто нужно написать собственный десериализатор (который по сути то, что вы сделали - без реализации соответствующих шаблонов .NET). Может быть, попробуйте использовать BufferedStream и посмотреть, поможет ли это, т.е.. :

using (FileStream fs = File.Open(fileName, ..... ))
using (BufferedStream bs = new BufferedStream(fs))
using (StreamReader sr = new StreamReader(bs))
{
        string s;
        while ((s = sr.ReadLine()) != null)
        {
            //your code   
        }
}

Также стоит взглянуть на эту библиотеку, которая может помочь вам с этой задачей: FileHelpers - Посмотрите на этот пример: https://www.filehelpers.net/example/QuickStart/ReadFileDelimited/

0
ответ дан Leonardo Seccia 18 January 2019 в 10:35
поделиться

Это может быть глупый вопрос, но почему бы вам не отсканировать & amp; сохранить непосредственно в бинарный или .ply файл? Или даже сканирование & amp; сохранить в сетку или в какую-нибудь вокселизированную сетку

Вы также можете посмотреть подход, использованный в этом проекте, особенно PlyImporter.cs

0
ответ дан Adammak 18 January 2019 в 10:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: