为什么文件打不开?
本文关键字:文件 为什么 | 更新日期: 2023-09-27 18:06:59
文件打不开
private void button1_Click(object sender, EventArgs e)
{
// Load the CSV file
var lines = File.ReadAllLines(@"C:'chat.csv");
var xml = new XElement("Chat-Log", // To convert to XML
lines.Select(line => new XElement("Item",
line.Split('|') // indicate split
.Select((column, index) => new XElement("Column" + index, column)))));
xml.Save(@"C:'xml-out.xml"); // Save to XML file
MessageBox.Show("Converted to XML");
FileStream fileStream = new FileStream(@"c:'xmlout.xml", FileMode.Open);
try
{
TextWriter tw = new StreamWriter("c:''xml-out.xml");
}
finally
{
fileStream.Close();
}
}
上面的代码应该打开C:'xml-out.xml
,对吗?
TextWriter tw = new StreamWriter("c:''xml-out.xml");
我不知道为什么它不打开文件。有线索吗?
由于某些原因,您正在打开一个流并且然后试图为它创建一个写入器。
如果文件之前不存在,那么调用new FileStream(@"c:'xmlout.xml", FileMode.Open)
将抛出异常…如果文件之前不存在,那么您将无法在下一行中打开对它的写入器,因为您仍然打开文件以进行读取。然后您也关闭finally
块中的FileStream
,但从未关闭StreamWriter
,这是奇怪的。
我希望你可能已经得到一个异常,显示哪些是真正导致问题的,但你当然应该删除FileStream
的语句。
你应该使用using
语句,这样你就不需要显式的try
/finally
块:
using (StreamWriter writer = File.CreateText(@"c:'xml-out.xml"))
{
}
当然有然后可能你没有权限在文件系统的根目录下创建文件…