首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何替换Windows 8的.txt文件

如何替换Windows 8的.txt文件
EN

Stack Overflow用户
提问于 2014-03-02 13:20:29
回答 2查看 134关注 0票数 0

我希望用来自web的文本文件替换以IsolatedStorageFile形式存在的文本文件。

代码语言:javascript
运行
复制
var store = IsolatedStorageFile.GetUserStoreForApplication()
IsolatedStorageFileStream rootFile = store.CreateFile("InTheRoot.txt");
IsolatedStorageFile.CopyFile(rootFile, "http://example.com/test.txt" , true);

这里有什么错误?谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-02 14:23:42

您不能使用IsolatedStorageFile.CopyFile()从internet下载文件。

快速和肮脏的方法是使用隐藏的WebBrowser控件:

XAML

代码语言:javascript
运行
复制
<phone:WebBrowser x:Name="Browser" Navigated="Browser_Navigated" Visibility="Collapsed"></phone:WebBrowser>
<TextBlock x:Name="Text"></TextBlock>

C#

代码语言:javascript
运行
复制
   public MainPage()
    {
        InitializeComponent();

        Browser.Navigate(new Uri("http://example.com/test.txt"));
    }

    private void Browser_Navigated(object sender, NavigationEventArgs e)
    {
        var store = IsolatedStorageFile.GetUserStoreForApplication();
        var filename = "InTheRoot.txt";

        if (store.FileExists(filename)) store.DeleteFile(filename);

        using (var stream = store.CreateFile(filename))
        {
            using (var writer = new StreamWriter(stream))
            {
                writer.Write(Browser.SaveToString());
            }
        }

        using (var file = store.OpenFile(filename, FileMode.Open))
        {
            using(var reader = new StreamReader(file))
            {
                Text.Text = reader.ReadToEnd();
            }
        }
    }

这方面的主要问题是,它将文本文件内容封装在元素中。

这并不是真正的推荐,但它将使您启动和运行。

从web检索内容的更好方法是使用BackgroundTransferRequest作为详细的这里这里

票数 0
EN

Stack Overflow用户

发布于 2014-03-02 14:02:53

更改这一行:

代码语言:javascript
运行
复制
IsolatedStorageFile.CopyFile(rootFile, "http://example.com/test.txt" , true);

对此:

代码语言:javascript
运行
复制
store.CopyFile("InTheRoot.txt", "http://example.com/test.txt" , true);

这将修复“非静态字段、方法或属性所需的对象引用”错误,而下一个错误“不能从'System.IO.IsolatedStorage.IsolatedStorageFileStream‘转换为'string'”。因为第一个参数的预期类型是string而不是IsolatedStorageFileStream

[供参考]

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

https://stackoverflow.com/questions/22128093

复制
相关文章

相似问题

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