共有回帖数  1  个 
	 
	
	
	
     
          
          
               
				
			 
				
					 
 
            
				   - 
						
						
							 
									这里文件操作包括了(Isolated Store、IsolatedStorageSettings 、OpenFileDialog、SaveFileDialog),大家都知道在Silverlight中无法直接使用System.IO进行操作文件,当然这个是为了安全考虑,不过Silverlight提供了其他的操作方法,原理近似,同样很简单。 提到Silverlight中的文件操作,第一个肯定是独立存储Isolated Store,这个东东相当于于一个本地的小型存储空间,通过它可以把一些不重要的数据(用户的一些配置信息或者文件)IsolatedStorageFile:
 保存在客户端,由于这个空间是可以在本地查看得到,同时用户也可以随意的删除这些文件件以及文件,所以不要存放重要的信息。IsolatedStorageFile.GetUserStoreForApplication();得到基于当前用户和当前应用程序的IsolatedStorageFile。IsolatedStorageFile.GetUserStoreForSite();得到基于当前website域的所有IsolatedStorageFile(不止一个Application的,可能同一个website下有多个xap文件,那么这些是共享的),这样就可以在多个Application中共享信息。下面先看下独立存储的规则:1.不同的XAP文件,在同一个website下并且在同一个文件夹有不同的独立存储文件2.如果Application在不同的site宿主,则有自己的独立存储文件3.如果使用不同的TestPage,使用同一个XAP,则使用同一个独立存储文件4.如果重命名XAP文件,则使用不同的独立存储文件5.如果修改版本信息,等其他的程序及配置信息,则还使用同一个独立存储文件6.如果替换一个名字一样的XAP文件,则还使用之前的独立存储文件
 IsolatedStorageFile操作文件的方法:CreateDirectory() 创建一个文件夹在Isolated Store,根据用户指定的名字。DeleteDirectory() 删除一个文件夹,根据用户指定的名字。CreateFile() 创建一个文件,根据用户指定的名字,并且返回IsolatedStorageFileStream对象,可以用来进行写入操作。DeleteFile() 删除一个文件,根据指定的名字。Remove() 移除Isolated Store对象,包含所有的文件夹和文件。OpenFile() 打开一个文件,并且返回IsolatedStorageFileStream对象。FileExists() 判断一个文件是否存在,返回true或者false。DirectoryExists() 判断一个文件夹是否存在,返回true或者false。GetFileNames() 获得根目录(指定的目录)下的所有文件名称,返回一个string的array。GetDirectoryNames() 获得根目录(指定目录下)的所有文件夹名称,返回一个string的array 使用IsolatedStorageFile读写数据:StreamWriter和StreamReader用来读取和写入文本信息;BinaryWriter和BinaryReader用来读取和写入二进制信息.
 例子:如果使用Windows vista或者Windows 7系统,则独立存储的文件在C:Users[UserName]AppDataLocalLowMicrosoftSilverlightis目录。当然在调试时候也可以看到,如下图:
 
  
 
  
 楼主 2016-08-10 09:28 回复 
 
  
	Copyright © 2010~2015 直线网 版权所有,All Rights Reserved.沪ICP备10039589号
	
	意见反馈 | 
	关于直线 | 
	版权声明 | 
	会员须知