如何在Xamarin Studio中加载文本文件?

时间:2016-12-18 19:11:45

标签: c# xamarin monogame

我在Xamarin Studio中创建了一个新的MonoGame iOS解决方案。之后,我在项目中添加了一个文本文件(File.txt)。 但是当我在iPhone模拟器中运行项目时,Xamarin Studio没有加载文本文件。我在以下行中收到此错误消息:

System.IO.Stream stream = TitleContainer.OpenStream(filename);
  

System.IO.FileNotFoundException:找不到文件" / Users / Name / Library / Developer / CoreSimulator / Devices / 1B232780-3BD1-4AE9-8475-100219150CEF / data / Containers / Bundle / Application / 9631F7D3- CF8C-448A-989B-974E984600D7 / Loadtextfile.app / FILE.TXT"

为什么Xamarin Studio找不到该文件?我在Xamarin Studio中将文本文件添加到我的解决方案中,我的解决方案保存在我的桌面上。

如何加载文本文件?

这里有完整的代码:

using System;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using System.IO;
using System.IO.IsolatedStorage;
using System.Runtime.Serialization;

namespace Loadtextfile
{
public class Game1 : Game
{
    GraphicsDeviceManager graphics;
    SpriteBatch spriteBatch;
    private const string filename = "File.txt";
    string[] strs;
    string tmpLine;

    public void LoadFile()
    {
        System.IO.Stream stream = TitleContainer.OpenStream(filename);
        using (var reader = new StreamReader(stream))
        {
            while (!reader.EndOfStream)
            {
                string line = reader.ReadLine();
                strs = line.Split(';');
                //...
            }
        }
    }

    public Game1()
    {
        graphics = new GraphicsDeviceManager(this);
        Content.RootDirectory = "Content";
    }

    protected override void Initialize()
    {           
        base.Initialize();
    }

    protected override void LoadContent()
    {
        spriteBatch = new SpriteBatch(GraphicsDevice);
        LoadFile();
    }

    protected override void Update(GameTime gameTime)
    {

        base.Update(gameTime);
    }

    protected override void Draw(GameTime gameTime)
    {
        graphics.GraphicsDevice.Clear(Color.CornflowerBlue);

        base.Draw(gameTime);
    }
}

}

1 个答案:

答案 0 :(得分:3)

右键点击该文件,然后将Build Action设置为"内容"