无法从“bool”转换为“System.Text.Encoding”

limit___lxz 2020-04-03 10:27:53
求解,新手不知道这个版块对不对……

public void write()
{
bool A = false;
FileStream fs = new FileStream(Properties.Resources.maxscore, FileMode.Create);
StreamWriter sw = new StreamWriter(fs, A);
}

我是想用这个东西来向文件中写入东西,但是在StreaWriter的第二个参数出现了错误,具体是这样的:
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 CS1503 参数 2: 无法从“bool”转换为“System.Text.Encoding” Game2048 F:\C#\学习通实验四\控件扩展代码\Game2048\Game2048\Form1.cs 201 活动

想问一下这个应该怎么解决
...全文
422 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
milaoshu1020 2020-04-03
  • 打赏
  • 举报
回复
第一个参数是string类型的路径的话,第二个参数就是bool类型的append; 第一个参数是Stream类型的文件流的话,第二个参数就是Encoding类型的编码对象; ----------------------------------------------------------------------------------------------------------------- public StreamWriter(string path, bool append) System.IO.StreamWriter 的成员 摘要: 用默认编码和缓冲区大小,为指定的文件初始化 System.IO.StreamWriter 类的一个新实例。 如果该文件存在,则可以将其覆盖或向其追加。 如果该文件不存在,此构造函数将创建一个新文件。 参数: path: 要写入的完整文件路径。 append: 若要追加数据到该文件中,则为 true;若要覆盖该文件,则为 false。 如果指定的文件不存在,该参数无效,且构造函数将创建一个新文件。 异常: System.UnauthorizedAccessException: 拒绝访问。 System.ArgumentException: path 为空。 或 path 包含系统设备的名称(com1、com2 等等)。 System.ArgumentNullException: path 为 null。 System.IO.DirectoryNotFoundException: 指定的路径无效(例如,它位于未映射的驱动器上)。 System.IO.IOException: path 包含不正确或无效的文件名、目录名或卷标签的语法。 System.IO.PathTooLongException: 指定的路径和/或文件名超过了系统定义的最大长度。 System.Security.SecurityException: 调用方没有所要求的权限。 特性: [System.Security.SecuritySafeCriticalAttribute] ----------------------------------------------------------------------------------------------------------------- public StreamWriter(System.IO.Stream stream, System.Text.Encoding encoding) System.IO.StreamWriter 的成员 摘要: 使用指定的编码及默认的缓冲区大小,为指定的流初始化 System.IO.StreamWriter 类的新实例。 参数: stream: 要写入的流。 encoding: 要使用的字符编码。 异常: System.ArgumentNullException: stream 或 encoding 为 null。 System.ArgumentException: stream 不可写。 特性: [System.Security.SecuritySafeCriticalAttribute]
杀马特丶蛮牛 2020-04-03
  • 打赏
  • 举报
回复
你看看streamwriter的构造函数,根据需要选择对应的构造函数,传入对应的参数 你的参数对不上构造函数啊,既然你第一个参数传了stream,那你看看构造函数有哪几个符合第一个参数是stream的。 第1.3.5.7是符合的,然后你再看剩下的第二个参数,你streamwriter按f12看定义就知道了
杀马特丶蛮牛 2020-04-03
  • 打赏
  • 举报
回复
引用 2 楼 limit___lxz 的回复:
哥,,,百度上的东西我都试了啊……就是因为没找到有用的,才来问的
你就试那2段代码,一段是写入,一段是读取,百度上很多的啊,拷过来都直接能用的,不知道你百度搜什么了
limit___lxz 2020-04-03
  • 打赏
  • 举报
回复
哥,,,百度上的东西我都试了啊……就是因为没找到有用的,才来问的
杀马特丶蛮牛 2020-04-03
  • 打赏
  • 举报
回复
下面是我百度搜的代码,有问题先去百度搜,不要一有问题就来问,要学会多思考,而不是问别人要答案

//C#文件流写文件,默认追加FileMode.Append 
            string msg = "okffffffffffffffff";
            byte[] myByte = System.Text.Encoding.UTF8.GetBytes(msg);
            using (FileStream fsWrite = new FileStream(@"D:\1.txt", FileMode.Append))
            {
                fsWrite.Write(myByte, 0, myByte.Length);
            }; 
            //c#文件流读文件 
            using (FileStream fsRead = new FileStream(@"D:\1.txt", FileMode.Open))
            {
                int fsLen = (int)fsRead.Length;
                byte[] heByte = new byte[fsLen];
                int r = fsRead.Read(heByte, 0, heByte.Length);
                string myStr = System.Text.Encoding.UTF8.GetString(heByte);
                Console.WriteLine(myStr);
                Console.ReadKey();
            } 
公西雒 2020-04-03
  • 打赏
  • 举报
回复
提示告诉你了啊!要用System.Text.Encoding枚举类型,不能用bool型的A变量。
StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.UTF8);

17,740

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧