首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#打开作为参数传递的文件流(Nand2Tetris项目7)

C#打开作为参数传递的文件流(Nand2Tetris项目7)
EN

Stack Overflow用户
提问于 2020-04-08 16:59:48
回答 1查看 102关注 0票数 0

关于Nand2Tetris课程,我在书中做了项目7,作为一个巨大的C#新手,我想我应该尝试用这种语言作为实践来实现它。具体来说,我试图遵循Parser模块的规范,并且我已经对第一步感到困惑,第一步声明Parser的构造函数具有:

  • 参数:输入文件/流
  • 函数:打开输入文件/流并准备解析它

到目前为止,我的主要程序(Program.cs)是:

代码语言:javascript
复制
namespace VM_1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Program Main");

            FileStream inFileStream = File.Create(@"c:\Users\<USERNAME>\Documents\Nand2Tetris\nand2tetris\projects\07\VM 1\in.vm");

            Parser parser = new Parser(inFileStream);
        }
    }
}

而解析器模块(Parser.cs)是:

代码语言:javascript
复制
namespace VM_1
{
    public class Parser
    {
        public Parser(FileStream inFileStream)
        {
            Console.WriteLine("Parser Constructor");
        }

        static void ParserMain()
        {
            Console.WriteLine("Parser Main");
        }
    }
}

我不知道这是否是构建C#程序的正确方式,但是我的googling让我找到了它,而Program.cs和Parser.cs似乎没有什么问题。

问题是,在Parser模块中,我尝试将filestream作为参数,以便在它的构造函数中打开它。因此,在Program.cs中,我使用File.Create(),试图为解析器模块保留File.Open()。这是因为,正如书中所指出的,在Parser的构造函数中,我必须实际打开filestream,也就是说,我不应该在Program.cs中打开它。但是,每个打开文件的C#示例都需要一个字符串路径作为其第一个参数,我已经在Program.cs中提供了它。所以我不知道如何在这个项目中实现这个第一步。任何帮助都是非常感谢的。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2020-04-08 17:12:34

看看文档,您已经可以读取/写入作为File.Create结果的文件流。如果需要打开已经创建的文件,只需使用File.Open并将返回的FileStream放入Parser

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61106022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档