我有一个服务器代码和客户端,它以byte []数组的形式将文件从客户端传输到服务器。但是当从客户端发送时间时,它很顺利,并且在发送代码[客户端代码]时没有错误。但对于服务器端的接收部分,它会崩溃整个命令提示符并停止运行。但文件到达以及它发送。但我需要继续服务器程序在收到文件后作出响应。请帮助我......我被困在这里......
这是我的服务器代码
for(i=0;i<str.length();i++)
{
if(str.charAt(i)=='.' || flag==1)
{
flag=1;
extn+=str.charAt(i);
}
}
File file = new File("RecievedImage"+str);
FileOutputStream fout = new FileOutputStream(file);
//receive and save image from client
byte[] readData = new byte[1024];
while((i = dis.read(readData)) != -1)
{
fout.write(readData, 0, i);
if(flag==1)
{
System.out.println("Image Has Been Received");
flag=0;
}
}
fout.flush();
fout.close();
这是我的客户代码
File file = new File(fileName);
FileInputStream fin = new FileInputStream(file);
dout.writeUTF(fileName);
System.out.println("Sending image...");
byte[] readData = new byte[1024];
while((i = fin.read(readData)) != -1)
{
dout.write(readData, 0, i);
}
System.out.println("Image sent");
ta.appendText("\nImage Has Been Sent");
fin.close();
}catch(IOException ex)
{System.out.println("Image ::"+ex);}