我想從DataGridView導出到文本文件,但我得到以下錯誤:我想從DataGridView導出到文本文件,但我得到的錯誤
An unhandled exception of type 'System.Security.SecurityException'
occurred in mscorlib.dll
Additional information: Request for the permission of type
'System.Security.Permissions.FileIOPermission, mscorlib,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.
這是我的代碼:
const string path = @"d:\export.txt";
if (!File.Exists(path))
{
File.Create(path);
}
TextWriter sw = new StreamWriter(@"d:\export.txt");
int rowcount = dgvSum.Rows.Count;
for (int i = 0; i < rowcount - 1; i++)
{
sw.WriteLine(dgvSum.Rows[i].Cells[0].Value.ToString());
}
sw.Close();
MessageBox.Show(@"Text file was created.");
這是我的try-catch報告: this is my report for try-catch:
this is report after changeing path and filename
這個ID確切一些代碼編輯後: 嘗試 {
const string path = @"c:\123\123.txt";
using (FileStream fileStream = File.Open(path,
FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite))
using (TextWriter sw = new StreamWriter(fileStream))
{
int rowcount = dgvSum.Rows.Count;
for (int i = 0; i < rowcount - 1; i++)
{
sw.WriteLine(dgvSum.Rows[i].Cells[0].Value.ToString());
}
}
MessageBox.Show(@"Text file was created.");
}
catch (Exception exception)
{
MessageBox.Show(exception.ToString());
//Console.WriteLine(exception);
}
如果你包裹在你的代碼中的'試穿catch'阻止你應該看到這個問題是有關該文件的權限。 –
那我該如何解決這個問題? – Hooman
您需要檢查您是否有權寫入D:驅動器。 –