C# 在桌面上保存txt文件
C# save txt file on desktop
如何将我创建的 txt 文件保存在桌面上?
这是代码:
void CreaTxtBtnClick(object sender, EventArgs e){
string filePath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
filePath = filePath + @"\Error Log\";
TextWriter sw = new StreamWriter(@"Gara.txt");
int rowcount = dataGridView1.Rows.Count;
for(int i = 0; i < rowcount - 1; i++){
sw.WriteLine(
dataGridView1.Rows[i].Cells[0].Value.ToString() + '\t' +
dataGridView1.Rows[i].Cells[1].Value.ToString() + '\t' +
dataGridView1.Rows[i].Cells[2].Value.ToString() + '\t' +
dataGridView1.Rows[i].Cells[3].Value.ToString() + '\t' +
dataGridView1.Rows[i].Cells[4].Value.ToString() + '\t' +
dataGridView1.Rows[i].Cells[5].Value.ToString() + '\t' +
dataGridView1.Rows[i].Cells[6].Value.ToString() + '\t' +
dataGridView1.Rows[i].Cells[7].Value.ToString() + '\t'
);
}
sw.Close();
MessageBox.Show("File txt creato correttamente");
}
我认为通过这些说明
Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
filePath = filePath + @"\Error Log\";
TextWriter sw = new StreamWriter(@"Gara.txt");
我可以将文件保存在桌面上,但在错误的路径中正确创建了 txt。
我该如何解决?
您构建了 filePath
,但尚未在 TextWriter
中使用它。相反,您只是写入 Gara.txt
文件,该文件默认位于您的应用程序启动所在的文件夹中。
将您的代码更改为:
filePath = filePath +@"\Error Log\Gara.txt";
TextWriter sw= new StreamWriter(filePath);
您必须将所有路径部分合并到最终的filePath
:
string filePath = Path.Combine(
Environment.GetFolderPath(Environment.SpecialFolder.Desktop),
"Error Log",
"Gara.txt");
我建议使用Linq来保存数据,这样更易读也更容易维护:
File
.WriteAllLines(filePath, dataGridView1
.Rows
.OfType<DataGridViewRow>()
.Select(row => string.Join("\t", row
.Cells
.OfType<DataGridViewCell>()
.Take(8) // if grid has more than 8 columns (and you want to take 8 first only)
.Select(cell => cell.Value)) + "\t")); // + "\t": if you want trailing '\t'
如何将我创建的 txt 文件保存在桌面上?
这是代码:
void CreaTxtBtnClick(object sender, EventArgs e){
string filePath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
filePath = filePath + @"\Error Log\";
TextWriter sw = new StreamWriter(@"Gara.txt");
int rowcount = dataGridView1.Rows.Count;
for(int i = 0; i < rowcount - 1; i++){
sw.WriteLine(
dataGridView1.Rows[i].Cells[0].Value.ToString() + '\t' +
dataGridView1.Rows[i].Cells[1].Value.ToString() + '\t' +
dataGridView1.Rows[i].Cells[2].Value.ToString() + '\t' +
dataGridView1.Rows[i].Cells[3].Value.ToString() + '\t' +
dataGridView1.Rows[i].Cells[4].Value.ToString() + '\t' +
dataGridView1.Rows[i].Cells[5].Value.ToString() + '\t' +
dataGridView1.Rows[i].Cells[6].Value.ToString() + '\t' +
dataGridView1.Rows[i].Cells[7].Value.ToString() + '\t'
);
}
sw.Close();
MessageBox.Show("File txt creato correttamente");
}
我认为通过这些说明
Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
filePath = filePath + @"\Error Log\";
TextWriter sw = new StreamWriter(@"Gara.txt");
我可以将文件保存在桌面上,但在错误的路径中正确创建了 txt。 我该如何解决?
您构建了 filePath
,但尚未在 TextWriter
中使用它。相反,您只是写入 Gara.txt
文件,该文件默认位于您的应用程序启动所在的文件夹中。
将您的代码更改为:
filePath = filePath +@"\Error Log\Gara.txt";
TextWriter sw= new StreamWriter(filePath);
您必须将所有路径部分合并到最终的filePath
:
string filePath = Path.Combine(
Environment.GetFolderPath(Environment.SpecialFolder.Desktop),
"Error Log",
"Gara.txt");
我建议使用Linq来保存数据,这样更易读也更容易维护:
File
.WriteAllLines(filePath, dataGridView1
.Rows
.OfType<DataGridViewRow>()
.Select(row => string.Join("\t", row
.Cells
.OfType<DataGridViewCell>()
.Take(8) // if grid has more than 8 columns (and you want to take 8 first only)
.Select(cell => cell.Value)) + "\t")); // + "\t": if you want trailing '\t'