public class testwriter : MonoBehaviour { // Use this for initialization
void Start () { } [MenuItem("Testx/test")]
static void test()
{
//不正确写法:
var writer = new StreamWriter(File.Create("Assets/test"));
writer.Write();
writer.Flush(); //刷新也没用,可以看到磁盘上文件老半天都是0KB //正确写法一
writer = new StreamWriter(File.Create("Assets/test"));
writer.Write();
writer.Dispose();//使用完后立即释放 //正确写法二
using(var wrter = new StreamWriter(File.Create("Assets/test"))){
wrter.Write();
//wrter.Flush();//没必要刷新,出了范围后会立即将内容写到磁盘,可以看到磁盘文件立即是1K了
//wrter.Dispose();//这个也没必要
}//自动被释放 //如果流对象在使用完后不立即释放可能会出现一些问题,在UNITY中出现了卡死现象:
//具体操作为:按照上面不正确代码,执行后,打开磁盘,先是看到0KB的test文件,很快变成1KB,这时再切回UNITY
//要么会卡死,要么提示:资源正在被另一进程使用,挂掉。 }
// Update is called once per frame
void Update () { }
}