java文件传输问题,printWriter与流使用
今天写的文件传输,但是只能是部分传,在传输的最后总有部分数据丢失,导致文件损坏,各位大虾帮忙看看啊
谢先
Server端:
Thread t=new Thread(new Runnable(){ //使用线程,防止阻塞
public void run(){
try{
jTextField4.setText("开始发送文件!");//标记
String temp;
PrintWriter putout;
BufferedReader in=new BufferedReader(new InputStreamReader(new FileInputStream(file)));
temp=in.readLine().trim(); //从bufferReader中按行读取
putout=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())));
while(temp!=null)
{
putout.println(temp);
temp=in.readLine().trim();//写入printWriter
}
jTextField4.setText("文件发送完毕!");
}catch(IOException e)
{
System.out.println(e);
}
}
});
t.start();
Client端
File file=new File(s); //从指定路径创建文件
try{
if(!file.exists())
{
file.createNewFile();
}
PrintWriter out =new PrintWriter(
new BufferedWriter(
new OutputStreamWriter(
new FileOutputStream(file))),true);
String temp;
temp=in.readLine().trim();
jTextField4.setText("正在接收文件...");
while(temp!=null)
{
out.print(temp);
out.flush();
temp=in.readLine().trim();
}
jTextField4.setText("文件接收完毕!");
}catch(IOException e)
{
System.out.println(e);
}
请大家帮忙看下这个程序出什么问题了呀··谢谢~~非常之谢谢