A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 刘吉烨 于 2013-12-4 21:19 编辑

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
//把 "这是一个配置文件" 写入 my.txt
            FileInfo file = new FileInfo("my.txt");
            file.Create();    //创建文件
            FileStream f = file.OpenRead(); //打开文件
            string value = "这是一个配置文件";
            byte[] arr = System.Text.Encoding.Unicode.GetBytes(value);
            f.Write(arr, 0, arr.Length); //写入文件
            f.Close(); //关闭文件
            Console.ReadKey();
        }
    }
}


运行报错 : 未处理IOException     文件“C:\Documents and Settings\Administrator\桌面\ConsoleApplication\ConsoleApplication\bin\Debug\my.txt”正由另一进程使用,因此该进程无法访问此文件。


怎么解决?

评分

参与人数 1技术分 +1 收起 理由
茹化肖 + 1

查看全部评分

7 个回复

倒序浏览
my.txt 已经被一个东西打开了

你可以关闭打开他的软件 一般情况下是记事本正在编辑

回复 使用道具 举报
亲 你把上面的代码复制 运行看下
回复 使用道具 举报
哎呀,哈哈哈,本来想帮你改改,发现没法改。

file.Create();这行代码本来就会创建一个FileStream,而你没有关闭。

评分

参与人数 1技术分 +1 收起 理由
茹化肖 + 1

查看全部评分

回复 使用道具 举报
FileInfo file = new FileInfo("my.txt");
file.Create();    //创建文件
FileStream f = file.OpenRead(); //打开文件

file对象先是创建了文件,这时候就已经打开文件了,然后又用file.OpenRead()打开文件两次打开动作,肯定会造成占用

评分

参与人数 1技术分 +1 收起 理由
茹化肖 + 1

查看全部评分

回复 使用道具 举报
还有一点是,就算您file.Create().Close();后还是有问题

你这  FileStream f = file.OpenRead();这是是只读的,不能写入。
回复 使用道具 举报
帮你修改了下
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            //把 "这是一个配置文件" 写入 my.txt
            FileInfo file = new FileInfo("my.txt");
            FileStream f = file.Create();    //创建文件
            
            string value = "这是一个配置文件";
            byte[] arr = System.Text.Encoding.Unicode.GetBytes(value);
            f.Write(arr, 0, arr.Length); //写入文件
            f.Close(); //关闭文件
            Console.ReadKey();
        }
    }
}

评分

参与人数 1技术分 +1 收起 理由
茹化肖 + 1

查看全部评分

回复 使用道具 举报
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            FileInfo file = new FileInfo("my.txt");
            FileStream f = file.OpenWrite(); //打开文件
            string value = "这是一个配置文件";
            byte[] arr = System.Text.Encoding.Unicode.GetBytes(value);
            f.Write(arr, 0, arr.Length); //写入文件
            f.Close(); //关闭文件
            Console.ReadKey();
        }
    }
}

评分

参与人数 1技术分 +1 收起 理由
茹化肖 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马