2013-04-23 2 views
0

Я пишу информацию в файл и называя ее "//Average+DateTime.txt"; Я думаю, что мой код будет проще, чем я пытаюсь уточнить:Вывод текстового файла

String path=bama(); 

if(path.Contains(".txt")) { 
    StreamWriter sw= 
     new StreamWriter(
      "C:/Users/msilliman11/Average" 
      +DateTime.Now.ToString("yyyyMMdd") 
      +".txt" 
      ); 
} 

String ElementsNum=RoundedValues.Count.ToString(); 
DateTime dt=System.DateTime.Now; 

using(var NewFile=File.Create(path)) { 
    using(var writeIt=new StreamWriter(NewFile)) { 
     writeIt.Write(
      "NA"+"," 
      +dt.Hour.ToString()+","+dt.Minute+"," 
      +dt.Day+","+dt.Month.ToString()+","+dt.Year.ToString()+"," 
      +"ALTEST "+","+"ALTEST "+","+heatgrade 
      +" "+","+"  "+","+heatname+"," 
      +DT2.Columns[3].ToString()+","+heatgrade+"," 
      +"OE2"+","+","+","+","+","+","+","+" "+ElementsNum+"," 
      ); 

     foreach(
      var pair in 
      RoundedValues.Zip(
       Elements, (a, b) => new { 
        A=a, 
        B=b 
       })) { 
      writeIt.Write(pair.B.ToString()+","+pair.A.ToString()+","); 
     } 
    } 
} 

У меня есть проблема в том, что мне нужно имя файла "Average", и есть код во внешнем блоке с использованием записанного в файл ...

Я очень плохо объясняя эти вопросы, но в основном им пытаются получить информацию во втором с помощью блока, который должен быть назван в выходном файле "4222013Average.txt" ...

+0

Вы сказали, что в первом «назвав его в качестве //Average+DateTime.txt», а затем вы упомянули «под названием„4/22/2013Average.txt“, так, какой формат, что вы хотите? –

+0

К сожалению, последний из них был правильным. Я допустил ошибку, поставив там косые черты. –

ответ

1

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

var toFile = Path.Combine(@"C:\Users\msilliman11\", 
    string.Format("Average{0}.txt", DateTime.Now.ToString("yyyyMMdd"))); 
var dt = DateTime.Now; 
using (var fs = File.OpenWrite(toFile)) 
using (TextWriter sw = new StreamWriter(fs)) 
{ 
    sw.Write(string.Join(",", 
     "NA", 
     dt.Hour, 
     dt.Minute, 
     dt.Day, 
     dt.Month, 
     dt.Year, 
     "ALTEST ", 
     "ALTEST ", 
     heatgrade, 
     " ", 
     "  ", 
     heatname, 
     DT2.Columns[3], 
     heatgrade, 
     "OE2", 
     string.Empty, 
     string.Empty, 
     string.Empty, 
     string.Empty, 
     string.Empty, 
     string.Empty, 
     string.Empty, 
     " ", 
     ",")); 

    foreach (var pair in RoundedValues.Zip(Elements, (a, b) => new { A = a, B = b })) 
    { 
     writeIt.Write(pair.B.ToString() + "," + pair.A.ToString() + ","); 
    } 
} 
+0

PERFECT! Спасибо! –

0

Это не совсем понятно, в чем проблема есть, кроме:

Вы сказали, что хотите назвать файл: 4/22/2013Average.txt. Это невозможно. В именах файлов не разрешены косые черты.

Это то, что вам нужно было знать? Если нет, пожалуйста, уточните.

Также совет: сделать код более читаемым с помощью string.Format():

string text = string.Format("NA,{0},{1},{2},{3},{4},ALTEST,ALTEST ,{5} ,  ,{6},{7},{5},OE2,,,,,,, {8},", 
     dt.Hour, 
     dt.Minute, 
     dt.Day, 
     dt.Month, 
     dt.Year, 
     heatgrade, 
     heatname, 
     DT2.Columns[3], 
     ElementsNum); 
    writeIt.Write(text); 
Смежные вопросы