回答編集履歴

1

追記

2019/04/05 01:46

投稿

YAmaGNZ
YAmaGNZ

スコア10266

test CHANGED
@@ -31,3 +31,63 @@
31
31
 
32
32
 
33
33
  また、CsvHelperを使用せずにテキストファイルとして1行づつ読み込み順次処理していくことやデータベースの使用を考えたほうがいいかもしれません。
34
+
35
+
36
+
37
+ ### 追記
38
+
39
+ 出力用のリストを使用しない場合のサンプル
40
+
41
+ ```C#
42
+
43
+ static void Main(string[] args)
44
+
45
+ {
46
+
47
+ // 書き出し用のファイルを用意
48
+
49
+ using (var sw = new StreamWriter(@"C:\検証用\検証データ\MLOG_RCV\BACKUP\list.csv"))
50
+
51
+ using (var outputDat = new CsvHelper.CsvWriter(sw))
52
+
53
+ {
54
+
55
+ outputDat.Configuration.HasHeaderRecord = false;
56
+
57
+ outputDat.Configuration.RegisterClassMap<NewDatRowValuesMapper>();
58
+
59
+
60
+
61
+ // 読み込み
62
+
63
+ foreach (string fileName in Directory.GetFiles(@"C:\検証用\検証データ\MLOG_RCV\BACKUP", "*.dat"))
64
+
65
+ using (var sr = new StreamReader(fileName, System.Text.Encoding.GetEncoding("shift_jis")))
66
+
67
+ using (var inputDat = new CsvHelper.CsvReader(sr))
68
+
69
+ {
70
+
71
+ inputDat.Configuration.HasHeaderRecord = false;
72
+
73
+                    ・
74
+
75
+                    ・
76
+
77
+                    ・
78
+
79
+                    ・
80
+
81
+
82
+
83
+ // 書き出し
84
+
85
+ outputDat.WriteRecord(newRow);
86
+
87
+ }
88
+
89
+
90
+
91
+ ```
92
+
93
+ ただ、エラーの出る箇所(入力ファイルが大きい等)によっては、上記の変更でも改善しないでしょう。