我需要让我的代码读取文件是否存在创建else附加.现在它正在读取它是否确实存在创建和追加.这是代码:
if (File.Exists(path))
{
using (StreamWriter sw = File.CreateText(path))
{
Run Code Online (Sandbox Code Playgroud)
我会这样做吗?
if (! File.Exists(path))
{
using (StreamWriter sw = File.CreateText(path))
{
Run Code Online (Sandbox Code Playgroud)
编辑:
string path = txtFilePath.Text;
if (!File.Exists(path))
{
using (StreamWriter sw = File.CreateText(path))
{
foreach (var line in employeeList.Items)
{
sw.WriteLine(((Employee)line).FirstName);
sw.WriteLine(((Employee)line).LastName);
sw.WriteLine(((Employee)line).JobTitle);
}
}
}
else
{
StreamWriter sw = File.AppendText(path);
foreach (var line in employeeList.Items)
{
sw.WriteLine(((Employee)line).FirstName);
sw.WriteLine(((Employee)line).LastName);
sw.WriteLine(((Employee)line).JobTitle);
}
sw.Close();
}
Run Code Online (Sandbox Code Playgroud)
}
我问,因为我正在为学校做项目.是的,这是功课.但是,我试图更多地了解它.
这是被问到的一个例子.
•当用户单击"保存"按钮时,将所选记录写入txtFilePath中指定的文件(绝对路径不相对),而不截断当前内部的值.
这就是我的意思,
private void button2_Click(object sender, EventArgs e)
{
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
StreamWriter myWriter = new StreamWriter(saveFileDialog1.FileName);
myWriter.Write(txtFilePath.Text);
myWriter.Close();
}
}
Run Code Online (Sandbox Code Playgroud)
现在,我不明白我是否做得对.我知道当我将它保存到我的桌面并从列表框中删除它时,当我再次尝试重新加载时,没有任何显示.这就是我的表格,
private void button1_Click(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
StreamReader myReader = new StreamReader(openFileDialog1.FileName);
txtFilePath.Text = openFileDialog1.FileName;
txtFilePath.Text = myReader.ReadToEnd();
myReader.Close();
}
}
Run Code Online (Sandbox Code Playgroud)
这是负载,
private void Form1_Load(object sender, EventArgs e)
{
string[] myFiles = Directory.GetFiles("C:\\");
foreach (string filename in myFiles)
{
FileInfo file = new FileInfo(filename);
employeeList.Items.Add(file.Name);
}
//...
Run Code Online (Sandbox Code Playgroud)
有人可以帮我理解这个吗?