我正在尝试创建一个加载来自.txt文件的数据的2D整数数组,但是当它编译这行代码时:string line = stream.ReadLine();
它会在线程标题中给出错误,这也是:
尝试访问该方法失败,System.IO.StreamReader..ctor(System.String)
我知道在PC和WP7 / 360之间使用txt文件之间可能存在差异但是我确信这是可能的,因为我的学院导师的应用程序在他的WP7手机上使用了.txt文件,我有什么样的变化必须使Windows Phone正确读取文件吗?
对于那些想要额外信息的人来说,这是将txt加载到int数组的整个方法:
public void loadMap(string mapFileName)
{
int x = 0, y = 0;
StreamReader stream = new StreamReader(mapFileName);
do
{
string line = stream.ReadLine();
string[] numbers = line.Split(',');
foreach (string e in numbers)
{
int tile = int.Parse(e);
this.tileID[x, y] = tile;
x++;
}
y++;
}
while (!stream.EndOfStream);
xSize = x;
ySize = y;
stream.Close();
}
修改
尽管我使用IsolatedStorage方法遇到了新的错误,但现在已经取得了一些进展,
我在解析代码之前添加了这段代码:
var store = IsolatedStorageFile.GetUserStoreForApplication();
var readStream = new IsolatedStorageFileStream(mapFileName, FileMode.Open, store);
var stream = new StreamReader(readStream);
现在在这里:var readStream = new IsolatedStorageFileStream(mapFileName, FileMode.Open, store);
我收到错误:
IsolatedStorageFileStream上不允许操作。
任何想法?
答案 0 :(得分:1)
出于安全原因,Windows Phone上的应用程序是沙盒,这实际上只是意味着您无法触及不属于您的内容。请考虑使用XNA的StorageContainer
类,它旨在解决非PC平台固有的安全限制。
<强>更新强>
进一步调查显示,Windows Phone似乎不提供此功能。相反,您应该使用System.IO.IsolatedStorage
类。