首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >茜素StreamWriter

茜素StreamWriter
EN

Stack Overflow用户
提问于 2015-04-01 15:53:36
回答 1查看 6.6K关注 0票数 0

你能让我怀疑一下吗?

我有一个嵌入式资源文本文件,当我试图使用一个streamWriter在它上写时,我会得到这样的错误:“抛出了一个System.ArgumentException。无法写入流。”

这是代码:

代码语言:javascript
复制
var assembly = Assembly.GetExecutingAssembly();
var resourceName = "SuperMimo2.Products.txt";
using (Stream stream = assembly.GetManifestResourceStream(resourceName))
using (StreamWriter writer = new StreamWriter(stream))
{
    writer.WriteLine(txtLines.Text);
}

你能告诉我我能做什么吗?

谢谢大家的关注!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-01 15:58:54

Android和iOS包/包都是签名的,不能写。若要写入文件,必须使用操作系统提供的适当的文件系统文件夹之一。

有关iOS,请参阅本指南:

system/

对于Android,你可以

代码语言:javascript
复制
var path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
var filename = Path.Combine(path, my_file_name);

如果您想在应用程序中包含一个文件并写入它,那么首先需要将它作为一个资产包含在您的应用程序包中。然后,您需要将其复制到可写文件夹中,以便对其进行任何更改。

代码语言:javascript
复制
// read the data from the Asset
using (StreamReader sr = new StreamReader (Assets.Open ("read_asset.txt")))
    {
        content = sr.ReadToEnd ();
    }

// get a writable file path
var path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
var filename = Path.Combine(path, "write_asset.txt");

// write the data to the writable path - now you can read and write it
File.WriteAllText(filename, content);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29395367

复制
相关文章

相似问题

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