win8不通过新打开窗口进行打开和保存文件,点击即显示文本内容,点击即保存文件

时间:2014-04-30 22:25:38   收藏:0   阅读:379

前面的一篇博客讲到通过打开新窗口进行打开和保存文件,这一篇则重点介绍怎样一步到位来进行打开和保存文件(这里还以.txt文本文件为例)。


我们要打开.txt文本文件,无非是想要里面的文本内容,并且把其显示到页面里罢了,那我们能不能直接点击按钮就让文件的内容自动显示到页面上............

而不需要经过打开新窗口这一步骤呢

同样,我们点击保存按钮,能不能就直接给文件命名为自己想要的名称,而且直接保存到自己想要的位置或者文件里........

而不经过打开新窗口定位某一个具体的文件夹下这一步骤呢


下面就是怎样实现这样的一步到位的:

首先是打开文件,显示文件里面的内容:

(直接取到了在AppData目录下的所有.txt文件里的文本内容,并且显示在页面上)

//遍历AppData目录,得到所有的文件
            StorageFolder folder = ApplicationData.Current.LocalFolder;
            //取folder文件夹中的所有文件(GetFilesAsync())
            //其实还有对应的取一个文件的(GetFileAsync())
            var fileList = await folder.GetFilesAsync();
            List<string> notelist = new List<string>();
            foreach (var file in fileList)
            {
                //以下三行是取文件的后缀名的,因为这里只需要取到.txt文件即可
                int length = file.Path.ToString().Length;
                int pointindex = file.Path.ToString().IndexOf(".");
                string name = file.Path.ToString().Substring(pointindex + 1, 3);
                if (name == "txt")
                {
                    notelist.Add(file.Name);
                    //读取文本文件里面的文本内容
                    string str = await FileIO.ReadTextAsync(file);
                    //将读取的文本内容放到前台文本框里(txtContent是前台文本框的唯一标识)
                    txtContent.Text += str;
                }
            }
            //这边listviewbind是前台listview空间的唯一标识
            listviewbind.ItemsSource = notelist;

然后是保存文件:

(直接通过guid实现不重复命名,而且直接将文本写入文件中保存到指定的位置)

//Guid是结合电脑配置等等信息所自动生成的一系列字符串,重复率几乎为0
            //一般数据库或者文件命名要求不重名的情况会用到Guid
            string guid = Guid.NewGuid().ToString().Substring(0, 5);
            //定位到当前应用的AppData目录
            StorageFolder folder = ApplicationData.Current.LocalFolder;
            //在此目录下创建文件fileJson,文件名就是上面的GUID生成的前5个字符(确保不重复)
            StorageFile fileJson = await folder.CreateFileAsync(guid + ".txt");
            if (fileJson != null)
            {
                //取出前台文本框里的数据(这个是要保持到文件里面的)
                string str = txbContent.Text.ToString().Trim();
                //将数据写入到文件,保存
                await FileIO.WriteTextAsync(fileJson, str);
            }

以上就是可以跳过通过打开新窗口进行打开和保存文件的代码

虽然很粗糙,但是很能说明问题,还有就是我谷歌或者百度了很久,发现很多大神也有其他的方法和操作,一下感觉自己还是很弱小,还是要不断努力,真的是学海无涯呀。


评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!