java socket传文件丢失数据???

宝儿78 2007-08-31 10:21:22
serversocket程序是这样的,如何解决???非常急,在线等待
import java.net.*;
import java.util.*;
import java.io.*;
import java.text.*;
import java.lang.*;
import com.conf.Dbaccess;
import com.conf.*;
import com.file.FileList;
import com.file.ReadXML;
class serverThread extends Thread {

Socket clientRequest;
//用户连接的通信套接字
BufferedReader input; //输入流
PrintWriter output; //输出流

public serverThread(Socket s)

{ //serverThread的构造器
this.clientRequest=s;

int port;
ServerSocket serverSkt;
Socket clientSkt;
BufferedReader fileInfo;
BufferedInputStream fileReader;
BufferedOutputStream fileWriter;
String fileName;
PrintStream printStream;
//接收receiveServer传来的套接字
InputStreamReader reader;
OutputStreamWriter writer;
try {

//接收客户机连接请求
printStream = new PrintStream(clientRequest.getOutputStream());

fileInfo = new BufferedReader(new InputStreamReader(clientRequest.getInputStream()));
fileName = fileInfo.readLine();
System.out.println("与" + clientRequest.getInetAddress() + "建立连接");
printStream.println("yes");
System.out.print("\nOK! 正在接收文件 " + fileName);
String szfilename="";
if(fileName.indexOf("/")>0){
szfilename= fileName.substring(fileName.lastIndexOf("/")+1,fileName.length());

fileReader = new BufferedInputStream(clientRequest.getInputStream());
fileWriter = new BufferedOutputStream(new FileOutputStream("d:\\test\\"+szfilename));
int readin;
while((readin = fileReader.read()) != -1) {
//System.out.print(".");
fileWriter.write(readin);
}
fileReader.close();
fileWriter.flush();
clientRequest.close();
System.out.println("\n文件接收完毕!");
}
}
catch(IOException e) {
System.out.println(e.toString());
}
}
}
}
...全文
481 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
CHZiroy 2012-10-16
  • 打赏
  • 举报
回复
我是来拿那10分的
AwL_1124 2008-04-09
  • 打赏
  • 举报
回复
你这个没有建立ServerSocket。。。
nihuajie05 2008-03-31
  • 打赏
  • 举报
回复
总算知道为什么现在都不用socket了
浴火_凤凰 2008-03-30
  • 打赏
  • 举报
回复
轮询accept()方法获取与客户端的连接.
sky_ccy 2008-03-29
  • 打赏
  • 举报
回复
呀的,,你这也能行呀,,我万上把我的代码发给你,,
现在在网吧,,

lemonfamily 2007-08-31
  • 打赏
  • 举报
回复
要获取客户端的数据,必须先通过轮询accept()方法获取与客户端的连接。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧