class FileReceiver extends Thread{
Socket socket;
DataInputStream dis;
FileOutputStream fos;
BufferedOutputStream bos;
public FileReceiver(Socket socket){
this.socket = socket;
}
public void run(){
try {
System.out.println("아싸 수신해");
dis = new DataInputStream(socket.getInputStream());
String fName = dis.readUTF();
System.out.println("파일명"+fName+"을 전송 받았습니다.");
File f = new File(fName+".jpg");
fos = new FileOutputStream(f);
bos = new BufferedOutputStream(fos);
System.out.println(fName + "파일을 생성하였습니다.");
int len;
int size = 1024;
byte[] data = new byte[size];
while ((len = dis.read(data)) != -1){
bos.write(data,0,len);
}
bos.flush();
bos.close();
fos.close();
dis.close();
System.out.println("굳잡 파일 수신 완료");
System.out.println("받은 파일의 사이즈:" + f.length());
} catch(IOException e){
e.printStackTrace();
}finally {
try {
if ( socket != null ) socket.close();
} catch( IOException ex ) {}
}
}
}
class WhileReceiver extends Thread{
public void run(){
ServerSocket serverSocket = null;
Socket socket = null;
try{
serverSocket = new ServerSocket(9889);
System.out.println("그래 시작해.");
while(true){
socket = serverSocket.accept();
System.out.println("클라이언트랑 연결됬다!.");
FileReceiver fr = new FileReceiver(socket);
fr.start();
}
}catch(IOException e){
e.printStackTrace();
}
}
}
'Programing > Java' 카테고리의 다른 글
Java 다중 Server Class (0) | 2014.05.28 |
---|---|
getScaledInstance 메서드 (0) | 2014.05.27 |
Java File 메서드 (0) | 2014.05.26 |
(Java) ObjectOutputStream (0) | 2014.05.12 |
Bitmap to byte[] , byte[] to Bitmap (0) | 2014.05.09 |