Считайте зафиксированную запись ширины из текстового файла

У меня была такая же ошибка, потому что вместо удаления файла я просто удалял ссылки на него. Поиск файла в Finder и его удаление помогли.

18
задан Colonel Panic 23 September 2012 в 04:52
поделиться

6 ответов

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

Вы могли использовать regex, чтобы соответствовать целой записи за один раз и получить поля, но я думаю, что это было бы излишеством.

5
ответ дан 30 November 2019 в 07:00
поделиться

Используйте FileHelpers.

Пример:

[FixedLengthRecord()] 
public class MyData
{ 
  [FieldFixedLength(8)] 
  public string someData; 

  [FieldFixedLength(16)] 
  public int SomeNumber; 

  [FieldFixedLength(12)] 
  [FieldTrim(TrimMode.Right)]
  public string someMoreData;
}

Затем это настолько просто:

var engine = new FileHelperEngine<MyData>(); 

// To Read Use: 
var res = engine.ReadFile("FileIn.txt"); 

// To Write Use: 
engine.WriteFile("FileOut.txt", res); 
27
ответ дан 30 November 2019 в 07:00
поделиться

Вам, вероятно, придется предостеречься, если конец строк не будет увеличен с пробелами для заполнения поля, то подстрока не будет работать без небольшого количества игры для разработки, сколько еще из строки там должен читать. Это, конечно, только относится к последнему полю :)

2
ответ дан 30 November 2019 в 07:00
поделиться

К сожалению, из поля CLR только предоставляет Подстроку для этого.

Кто-то в CodeProject сделал пользовательский синтаксический анализатор с помощью атрибутов для определения полей , Вы могли бы хотеть посмотреть на это.

1
ответ дан 30 November 2019 в 07:00
поделиться

Нет, Подстрока прекрасна. Это - то, для чего это.

0
ответ дан 30 November 2019 в 07:00
поделиться

Вы могли настроить источник данных ODBC для файла фиксированного формата и затем получить доступ к нему как к любой другой таблице базы данных. Это имеет добавленное преимущество, что специальные знания формата файла не компилируются в Ваш код в течение того рокового дня, что кто-то решает засунуть дополнительное поле в середине.

0
ответ дан 30 November 2019 в 07:00
поделиться
Другие вопросы по тегам:

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