我对 Android 编程很陌生。我有一个代码,它在指定的文件夹中创建一个文件,然后尝试向其中写入一些内容。就像下面这样:
path = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
var filename = Path.Combine(path, "Test.xml");
Directory.CreateDirectory (path);
if (!File.Exists (path + "/" + "Test.xml")) {
File.Create (path + "/" + "Test.xml");
}
using (var streamWriter = new StreamWriter(filename, true))
{
streamWriter.WriteLine("<?xml version='1.0' encoding='utf-8'?>");
streamWriter.WriteLine ("<Apples>");
streamWriter.WriteLine ("</Apples>");
}
In line 使用 (var StreamWriter = new StreamWriter(文件名, true)),我得到了共享路径上的违规行为 error.
有人可以指出我到底哪里出了问题并为我提供解决方案吗?
谢谢,
阿尼班
为什么要创建该文件然后重新打开它以写入内容。 StreamWriter 有一个方法可以做到这一点。如果它不存在,它将创建一个新文件。
使用默认编码和缓冲区大小为指定路径上的指定文件初始化 StreamWriter 类的新实例。如果该文件存在,则可以覆盖或附加该文件。如果该文件不存在,则此构造函数将创建一个新文件。
StreamWriter 无法访问该文件,因为 File.Create 返回了您未使用的 FileStream。
如上所述,File.Create 不是必需的。您还可以使用:
using (var writer = new StreamWriter(File.Create(statusTxtPath)))
{
// do work here.
}
这将消耗文件流并关闭它。每当使用流和大多数与流交互的类时,请务必使用 using() 块以确保正确释放句柄。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)