Не могу написать в CSV
Это первый раз, когда я использую CSV и C#.
Это код, его запуск и создание CSV, но он ничего не пишет.
Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
namespace csv
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
TextWriter sw = new StreamWriter("C:\\Data.csv");
string Var1 = "5";
string Var2 = "325,22";
private void button1_Click(object sender, EventArgs e)
{
sw.WriteLine("{0}","{2}", Var1,Var2);
}
}
2 ответа
Есть методы, доступные в File
класс, который упростит то, что вы пытаетесь сделать.
Ты можешь позвонить AppendAllText
и он создаст файл, если необходимо, или просто добавит к нему.
File.AppendAllText(@"C:\Data.csv", string.Format("{0}{1}\r\n", Var1, Var2));
Теперь вам не нужно создавать TextWriter
так что вы можете удалить эти пару строк.
(Если вы хотите придерживаться TextWriter
тогда ответ Гусмана - то, что вам нужно - не оставляйте поток открытым дольше, чем вам нужно.)
Он пишет, но вы проверяете, не закрывая свою программу.
Потоки не сбрасываются мгновенно, они кэшируются, это зависит от того, сколько символов вы написали, но, конечно, если вы вызовете Flush() или Close(), это очистит весь контент.
Так что Close() вашего Stream, даже лучше, окружить код
using (var sw = new StreamWriter("C:\\Data.csv"))
{
//your code
}