📄 rtfreceive.java
字号:
import java.io.*;
import java.net.Socket;
/**
* Created by IntelliJ IDEA.
* User: cxwu
* Date: 2007-9-30
* Time: 9:36:53
* To change this template use File | Settings | File Templates.
*/
public class RTFReceive extends Thread{
private File receiveFile;
private Socket socket;
public RTFReceive(File receiveFile, Socket socket) {
this.receiveFile = receiveFile;
this.socket = socket;
}
public void run() {
//判断用户是否保存文件
System.out.println(socket);
if(receiveFile == null){
System.out.println("you do not save file!");
return;
}else{
//保存文件后,则向发送方发送同意(true)
try {
DataOutputStream dout = new DataOutputStream(socket.getOutputStream());
dout.writeBoolean(true);
} catch (IOException e) {
e.printStackTrace();
}
}
//begin receive file
System.out.println("Begin receive...");
try {
FileOutputStream fout = new FileOutputStream(receiveFile);
BufferedOutputStream bout = new BufferedOutputStream(fout);
DataInputStream bin = new DataInputStream(socket.getInputStream());
byte[] buf = new byte[2048];
int num = bin.read(buf);
System.out.println("bb is");
String bb = new String(buf);
System.out.println(bb);
while(num != -1){
bout.write(buf,0,num);
bout.flush();
num = bin.read(buf);
}
bout.close();
bin.close();
System.out.println("Receive Finished!");
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -