关于用"独立存贮空间"存数据存在的问题

这个行不通,我写的方法如下:
/// <summary>
/// 将username保存在"独立存贮空间"
/// </summary>
/// <param name="username"></param>
/// <returns></returns>
public void SaveUserName(string fromusername)
{
#region 将username保存在"独立存贮空间"
string username=fromusername;
//按用户、域、程序集获取独立存储区
IsolatedStorageFile isoStore = IsolatedStorageFile.GetStore(IsolatedStorageScope.User|IsolatedStorageScope.Domain|IsolatedStorageScope.Assembly, null, null);
string[] myusername=isoStore.GetDirectoryNames("UserNameDir");
IsolatedStorageFileStream isoStream1=null;
if(myusername.Length==0)//没有目录
{
//创建目录
isoStore.CreateDirectory("UserNameDir");
//创建文件
isoStream1 = new IsolatedStorageFileStream("UserNameDir//UserName.txt", FileMode.Create, isoStore);
//写入文件
StreamWriter writer = null;
writer = new StreamWriter(isoStream1);
writer.WriteLine(fromusername);
writer.Close();
isoStream1.Close();
}
else
{
myusername=isoStore.GetFileNames("UserNameDir//UserName.txt");
if(myusername.Length==0)//没有文件
{
//创建文件
isoStream1 = new IsolatedStorageFileStream("UserNameDir//UserName.txt", FileMode.Create, isoStore);
//写入文件
StreamWriter writer = null;
writer = new StreamWriter(isoStream1);
writer.WriteLine(fromusername);
writer.Close();
isoStream1.Close();
}
else
{
isoStream1 = new IsolatedStorageFileStream("UserNameDir//UserName.txt", FileMode.OpenOrCreate, isoStore);
//写入文件
StreamWriter writer = null;
writer = new StreamWriter(isoStream1);
writer.Write(fromusername);
writer.Close();
isoStream1.Close();
}
}
#endregion
}

读的代码如下:
/// <summary>
/// 从"独立存贮空间"取username
/// </summary>
/// <returns></returns>
public string GetUserName()
{
string fromusername;

//按用户、域、程序集获取独立存储区
IsolatedStorageFile isoStore = IsolatedStorageFile.GetStore(IsolatedStorageScope.User|IsolatedStorageScope.Domain|IsolatedStorageScope.Assembly, null, null);
string[] myusername=isoStore.GetFileNames("UserNameDir//UserName.txt");
if(myusername.Length==0)//没有文件
{
return null;//域中没有他的用户名
}
else
{
IsolatedStorageFileStream isoStream1=null;
isoStream1 = new IsolatedStorageFileStream("UserNameDir//UserName.txt", FileMode.OpenOrCreate, isoStore);
StreamReader reader =null;
reader=new StreamReader(isoStream1);
fromusername=reader.ReadLine();
reader.Close();
return fromusername;
}
}

结果是:两个人用时就会"交叉感染"

转载于:https://www.cnblogs.com/cerxp/archive/2004/04/04/5153.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值