2017-06-12 4 views
-2

この問題の関連タイトル/トピックをすべて調査しますが、それでも問題を解決できないようです..それは 'Seperated_File.txt'を生成しますが、それは完全に空のテキストファイルです。お返事をありがとうございます。私のデータテーブルを[txt]ファイルに保存する

UPDATED

(SOLUTION)

 string[] lines = File.ReadAllLines(@"d:\Processed_Text.txt"); 
     DataTable dt = new DataTable(); 

     dt.Columns.Add("IP Address"); 
     dt.Columns.Add("Date"); 
     dt.Columns.Add("Time"); 
     dt.Columns.Add("GMT"); 
     dt.Columns.Add("Method"); 
     dt.Columns.Add("Resource"); 
     dt.Columns.Add("Port"); 
     dt.Columns.Add("Bytes"); 
     dt.Columns.Add("Services"); 
     dt.Columns.Add("Destination"); 
     dt.Columns.Add("Operating System"); 

     foreach (string line in lines) 
     { 
      string[] split = line.Split(' ', ':'); 


      split = split.Where(r => !string.IsNullOrWhiteSpace(r)).ToArray(); 

      Foo foo = new Foo(); 

      foo.IPAddress = split[0]; 
      foo.Date = split[1]; 
      foo.Time = string.Format("{0}:{1}:{2}", split[2], split[3], split[4]); 
      foo.GMT = split[5]; 
      foo.Method = split[6]; 
      foo.Resource = split[7]; 
      foo.Port = split[8]; 
      foo.Bytes = split[9]; 
      foo.Service = split[10]; 
      foo.Destination = split[11]; 
      foo.OS = split[12]; 

      dt.Rows.Add(foo.IPAddress, foo.Date, foo.Time, foo.GMT, foo.Method, foo.Resource, foo.Port, foo.Bytes, foo.Service, foo.Destination, foo.OS); 
     } 

      using (StreamWriter sw = new StreamWriter(@"d:\Seperated_Text.txt")) 
      foreach (DataRow dr in dt.Rows) 
     { 
      Console.WriteLine(string.Format("{0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10}", dr[0], dr[1], dr[2], dr[3], dr[4], dr[5], dr[6], dr[7], dr[8], dr[9], dr[10])); 
      sw.WriteLine(String.Join(",", dr.ItemArray)); 
      sw.WriteLine(dr); 

     } 
     Console.ReadLine(); 
    } 
+1

実際のコードを投稿してください。あなたは 'result'を' vresult'と混ぜて 'sw'と言いますが、実際には' objWriter'のように見えます。 – itsme86

+1

編集されました、ご迷惑をおかけして申し訳ありません。私はアイブを試してみたいと思っていました。 –

+0

更新:私のコードは解決策です。自分でそれを手に入れました。返信ありがとう。 –

答えて

0

のDataRow内のデータにアクセスするために、あなたは何をする必要があります。

foreach (DataRow row in table.Rows) 
      { 
       Console.WriteLine($"{row.ItemArray[0]} | {row.ItemArray[1]} | {row.ItemArray[2]}"); 
      } 

またはあなたが好む場合:

foreach (DataRow row in table.Rows) 
    { 
     Console.WriteLine($"{row["IP Address"]} | {row["Date"]} | {row["Time"]}"); 
    } 
+0

ここから、私はちょうど.txtファイルとしてそれを保存することができますか? –

+0

あなたはファイルライターを使う必要がありますが、そうです。あなたは目に見えるデータを呼び出さなかったことが主な問題です。だから、.txtファイルを書くときには何も書いていませんでした。 – gilliduck

+0

私はのStreamWriterを使用してそれを固定...とにかくお返事ありがとうございました:) –

0

ファイルが空白の理由は既に存在し、あなたがを追加していないためです StreamWriterの第2引数を使用:

bool append = true; 
using (StreamWriter sw = new StreamWriter(@"d:\Seperated_Text.txt", append)) 
+0

は、なぜ私は私のテキストファイルのすべての行にSystem.Data.DataRowを得るのですか?任意のアイデア –

+0

toStringで試してください: 'dr [0] .ToString()' –

+0

「メソッドグループ」から「オブジェクト」へのアノテーション変換:/ –

関連する問題