之前说了如何操作文本文件,如果是图片文件或者其他的二进制文件则需要操作文件的Stream或者Buffer数据。就需要用到DataReader和DataWriter这两个类了,这个的好好的练一下,以后的Socket编程等也是用到这个。
做过Socket实际编程工作的都知道,得对消息进行简单的封装,比如现在要向客户端传人和动物过去,如果我们直接传一个流过去,客户端根本不知道该解析成人还是动物,所以一般会把头相关(长度,名称等)也传过去。废话不多说赶紧把自己学的那点知识记下来。
//Buffer写入操作 using(InMemoryRandomAccessStream memoryStream = new InMemoryRandomAccessStream()) using(DataWriter writer = new DataWriter(memoryStream)) { string msg = "hello world!"; writer.WriteInt32(msg.Length); writer.WriteString(msg); var buffer = writer.DetachBuffer(); } //Buffer读取操作 using(DataReader reader = DataReader.FromBuffer("获取到的buffer")) { Int32 stringSize = reader.ReadInt32(); string msg = reader.ReadString((unit)stringSize); }
Buffer的读写简单的写了下,Stream的读写和Buffer差不多,当然这都是废话,因为都是用DataReader和DataWriter来实现的,我已经写过一次,以前没试过的朋友可以自己写一下。
接下来说下应用文件的URI方案
LocalFolder的访问URI:ms-appdata:///local/
RoamingFolder的访问URI:ms-appdata:///Roaming/
TemporaryFolder的访问URI:ms-appdata:///temp/
一个小提示(一个字没变的写下来):文件和文件夹的路径在URI方案名称的最后一个斜杠后面不能超过185个字符。
反正我一般会在访问比较写死的文件的时候会使用这种URI方案。
最后的我想说的是王菲的又见炊烟挺好听的。
时间: 2024-12-16 05:08:47