以下に含まれているコードは、正常にCSVファイルに書き込みます。しかし、私が書き込んでいるCSVファイルがExcelで開かれた場合、「ファイルが別のプロセスによって使用されている」ことを示すSystem.IO.Exception
が表示されます。"別のプロセスで使用中のファイル"を避けるIO例外
プログラムを実行して、CSVがExcelで開かなくなるまで待つようにコードを変更するにはどうすればよいですか?
private void timer1_Tick(object sender, EventArgs e)
{
int actmonth, actyear, actsecond;
System.DateTime fecha = System.DateTime.Now;
actmonth = fecha.Month;
actyear = fecha.Year;
if (actmonth <= 9)
{
valorfechaact = System.Convert.ToString(actyear) + "00" + System.Convert.ToString(actmonth);
}
else
{
valorfechaact = System.Convert.ToString(actyear) + "0" + System.Convert.ToString(actmonth);
}
actsecond = fecha.Second;
string label;
label = label1.Text;
string at = "@";
string filename = valorfechaact + ".csv";
string ruta3 = System.IO.Path.Combine(at, label, filename);
if (Directory.Exists(label1.Text))
{
StreamWriter wr = new StreamWriter(ruta3, true);
wr.WriteLine("1asd" + actsecond);
wr.Close();
wr.Dispose();
}
else
{
System.Console.WriteLine("no se puede escribir en el archivo");
timer1.Stop();
}
}
です。 IOエラーが発生した場合は、いつでもファイルを再度一意の名前で書き込むことができます。 –
@AlexK。すぐにお返事ありがとうございます、どうすればいいですか? –
その例外を試してみますか? –