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)