无法将列表的所有元素保存到文本文件
Unable to Save all the elements of a List to a text file
我想将一个列表的所有内容保存到一个文本文件中,但我做不到。下面是我试过的代码
// here is my list type
List<string> list2 = new List<string>();
//code below for saving the contents of the list into text file
string file = @"C:\Users\textWriter.txt";
// check if the file exists
try
{
if (File.Exists(file))
{
File.Delete(file);
}
else
{
using (TextWriter tw = File.CreateText(@"SavedList.txt"))
{
foreach (String s in list2)
tw.WriteLine(s);
}
}
}
catch (Exception Op)
{
MessageBox.Show(Op.Message);
}
不确定有什么例外,但我强烈建议改用它:
File.WriteAllLines(file, list2);
如果目标文件已经存在,则覆盖。
在您的代码中您使用了不同的路径,也许这就是原因
您在 (File.Exists(文件) 和 File.CreateText(@"SavedList.txt") 中有不同的路径。
接下来,你在List中添加元素了吗?
问题已解决。通过@Tim Schmelter 建议的更新代码以及此 link C# access to the path is denied...(System.UnauthorizedAccessException: Access to the path 'C:\' is denied.) 的帮助,我现在可以看到包含所有内容的文件。
string file = @"D:\textWriter.txt";
// check if the file exists
try
{
if (File.Exists(file))
{
File.Delete(file);
}
else
{
File.WriteAllLines(file, list2);
}
}
catch (Exception Op)
{
MessageBox.Show(Op.Message);
}
我想将一个列表的所有内容保存到一个文本文件中,但我做不到。下面是我试过的代码
// here is my list type
List<string> list2 = new List<string>();
//code below for saving the contents of the list into text file
string file = @"C:\Users\textWriter.txt";
// check if the file exists
try
{
if (File.Exists(file))
{
File.Delete(file);
}
else
{
using (TextWriter tw = File.CreateText(@"SavedList.txt"))
{
foreach (String s in list2)
tw.WriteLine(s);
}
}
}
catch (Exception Op)
{
MessageBox.Show(Op.Message);
}
不确定有什么例外,但我强烈建议改用它:
File.WriteAllLines(file, list2);
如果目标文件已经存在,则覆盖。
在您的代码中您使用了不同的路径,也许这就是原因
您在 (File.Exists(文件) 和 File.CreateText(@"SavedList.txt") 中有不同的路径。 接下来,你在List中添加元素了吗?
问题已解决。通过@Tim Schmelter 建议的更新代码以及此 link C# access to the path is denied...(System.UnauthorizedAccessException: Access to the path 'C:\' is denied.) 的帮助,我现在可以看到包含所有内容的文件。
string file = @"D:\textWriter.txt";
// check if the file exists
try
{
if (File.Exists(file))
{
File.Delete(file);
}
else
{
File.WriteAllLines(file, list2);
}
}
catch (Exception Op)
{
MessageBox.Show(Op.Message);
}