C# 如何使用c从服务器读取文本文件并存储在字典中#
我应该从服务器接收一个文本文件,然后读取该文件并将其存储在客户端的字典中 我读过这个文件,但我不知道如何从这里取出文件中的信息并将其存储在词典中 我的文本文件包含以下详细信息: 艾米;10.30;100;$七, 柔韧的;4.30;100;$九, 鲍比;3.20;80;$七, 客户端代码C# 如何使用c从服务器读取文本文件并存储在字典中#,c#,sockets,dictionary,client,server,C#,Sockets,Dictionary,Client,Server,我应该从服务器接收一个文本文件,然后读取该文件并将其存储在客户端的字典中 我读过这个文件,但我不知道如何从这里取出文件中的信息并将其存储在词典中 我的文本文件包含以下详细信息: 艾米;10.30;100;$七, 柔韧的;4.30;100;$九, 鲍比;3.20;80;$七, 客户端代码 private static void loadMovies() { try { byte[] data = new byte[1024];
private static void loadMovies()
{
try
{
byte[] data = new byte[1024];
writer.WriteLine(BROWSE);
writer.Flush();
while (true)
{
data = ReceiveMovieData(server);
MemoryStream ms = new MemoryStream(data);
loadMovies();
break;
}
}
catch (Exception ex)
{
//textBox1.Text = ex.Message;
}
}
private static byte[] ReceiveMovieData(Socket s)
{
int total = 0;
int recv;
byte[] datasize = new byte[4];
recv = s.Receive(datasize, 0, 4, 0);
int size = BitConverter.ToInt32(datasize, 0);
int dataleft = size;
byte[] data = new byte[size];
while (total < size)
{
recv = s.Receive(data, total, dataleft, 0);
if (recv == 0)
{
break;
}
total += recv;
dataleft -= recv;
}
return data;
}
private static void loadMovies()
{
尝试
{
字节[]数据=新字节[1024];
writer.WriteLine(浏览);
writer.Flush();
while(true)
{
数据=接收的电影数据(服务器);
MemoryStream ms=新的MemoryStream(数据);
loadMovies();
打破
}
}
捕获(例外情况除外)
{
//textBox1.Text=例如消息;
}
}
专用静态字节[]接收MovieData(套接字)
{
int-total=0;
int recv;
字节[]数据大小=新字节[4];
recv=s.Receive(数据大小,0,4,0);
int size=BitConverter.ToInt32(数据大小,0);
int dataleft=大小;
字节[]数据=新字节[大小];
while(总尺寸<尺寸)
{
recv=s.Receive(数据,总计,数据左侧,0);
如果(recv==0)
{
打破
}
总+=recv;
dataleft-=recv;
}
返回数据;
}
我假设您的数据由分号分隔代码>和每条记录被分隔线分隔。因此,我的建议是通过以下方式解析数据:
- 每行读取每条记录
- 按
拆分列代码>(分号)。当您的数据已经是字符串时,可以使用以下方法处理:
string s = "abc; 123";
string[] columns = s.Split(';');
- 然后正确地将每个列强制转换为其正确的数据类型
- 然后将其存储到符合您要求的自定义
词典中
您有什么问题吗?