byte[] bFileName = new byte[512];
r2Socket.Receive(bFileName);
String FileName = Encoding.UTF8.GetString(bFileName);
System.Windows.Forms.MessageBox.Show(FileName); // It's Ok. Show FileName = "text.jpg"
FileStream = new FileStream("D:\\" + FileName, FileMode.Create, FileAccess.Write);FileStream ArgumentException
path是一个空字符串(""),只包含空白,或者包含一个或多个无效字符。-or- path指非文件设备,如NTFS环境中的"con:“、"com1:”、"lpt1:“等。
为什么会这样?谢谢。
==
//CLIENT
byte[] bFileName = new byte[512];
Socket Socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
Socket.Connect(textBoxIP.Text, int.Parse(textBoxPORT.Text));
FileInfo sFileInfo = new FileInfo(textBoxFILE.Text);
string FileName = sFileInfo.Name;
bFileName = Encoding.UTF8.GetBytes(FileName);
Socket.Send(bFileName);
//SERVER
Socket rSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
IPAddress rIPAddress = Dns.GetHostEntry("localhost").AddressList[0];
IPEndPoint rIPEndPoint = new IPEndPoint(IPAddress.Any, int.Parse(textBoxPORT2.Text));
rSocket.Bind(rIPEndPoint);
rSocket.Listen(1);
byte[] bFileName = new byte[512];
r2Socket.Receive(bFileName);
String FileName = Encoding.UTF8.GetString(bFileName);发布于 2012-04-18 13:11:22
我猜这是因为您使用的是UTF-8,而NTFS使用的是其他的东西,因此无效的字符错误。我会尝试使用另一种编码。
https://stackoverflow.com/questions/10209624
复制相似问题