2016-10-25 2 views
0
public ActionResult Upload(HttpPostedFileBase file) 
{ 

    var fileName = Path.GetFileName(file.FileName); 
    //file.SaveAs(Path.Combine(path, fileName)); 
    string[] lines = System.IO.File.ReadAllLines(file.FileName); 
    . 
    . 
    . 

     //} 
    return View("~/~/xxxDB/xxxxx"); 
} 

入力TXTファイル:C#のスプリットtxtファイルは

LINE1: CLASS ABC 1 1 2 
LINE2: NAMES 
LINE3: INFO 0 0 0 0 
LINE4: KEY *NULL* 
LINE5: BCMD *NULL* 
LINE6: RCMD *NULL* 

カラム名:その後、if文の行が似ている場合

class_a 
class_b 
class_c 
class_d 
names_a 
info_a 
info_b 
info_c 
info_d 
. 
. 
. 

私はコーディングロジックを記述することを決めたが、ありますクラスを作成し、その値をデータテーブルに入れ、 ""で分割します。どうすればいいですか、助けてください。ここではラインによって

using (StreamReader sr = new StreamReader(path)) 
     { 
      while (sr.Peek() >= 0) 
      { 
       Console.WriteLine(sr.ReadLine()); 
      } 
     } 
+0

Foreach(行内のvar行)を使用して行をループし、再度スペースで分割します。var split = line.split( ""); - ケース "INFO":ケース "KEY":ケース "BCMD"などを切り替えることができます。 –

+0

txtファイルは本当に 'LINE1' ...' LINE2'で始まりますか? –

+0

@TimSchmelterはい – peter

答えて

0

使用StreamReaderを、私はそれを行うだろうかです:

string line; 
StreamReader sr = new StreamReader(file.FileName); 
while ((line = sr.ReadLine()) != null) 
{ 
    string[] fields = line.Split(' '); 
    string classA = fields[0]; 
    string classB = fields[1]; 
    // and so on 
} 

sr.Close(); 

これではなく、ファイルの内容によって時にラインをループReadAllLinesが行うファイルの「スラップ」。

0

をTXTラインを読むこと