FTP - server 만들기
2014. 11. 28. 15:49
개발/Java
반응형
개요
JAVA로 간단한 FTP 서버를 만들어보자.
소스
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | import java.io.BufferedOutputStream; import java.io.DataInputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; public class Server { public static void main(String[] args) { ServerSocket serverSocket = null; Socket socket = null; try{ //리스너 소켓 생성 후 대기 serverSocket = new ServerSocket(8521); System.out.println("##### 서버실행 #####"); //클라이언트와 연결 완료 socket = serverSocket.accept(); System.out.println("##### 연결완료 #####"); //수신시작 FileReceiver fr = new FileReceiver(socket); fr.start(); }catch(IOException e){ e.printStackTrace(); } } } class FileReceiver extends Thread{ Socket socket; DataInputStream dis; FileOutputStream fos; BufferedOutputStream bos; String filePath = "D:\\ForSecurity\\data\\"; public FileReceiver(Socket socket){ this.socket = socket; } @Override public void run(){ try{ System.out.println("##### 수신시작 #####"); dis = new DataInputStream(socket.getInputStream()); //파일명 수신 String fName = dis.readUTF(); System.out.println("# 파일명 : "+fName); //파일 생성 File f = new File(filePath+fName); fos = new FileOutputStream(f); bos = new BufferedOutputStream(fos); System.out.println("# "+fName+" 파일을 생성"); //파일 쓰기 int len; int size=4096; 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("# 전송완료 사이즈 : "+f.length()); }catch(IOException e){ e.printStackTrace(); } } } |
반응형
'개발 > Java' 카테고리의 다른 글
FTP - Client 만들기 (0) | 2014.11.28 |
---|---|
csv파일 읽기 (0) | 2014.09.27 |
JDOM을 이용한 XML 생성 (0) | 2014.09.14 |
JDOM을 이용한 XML 파싱 (0) | 2014.09.14 |
현재 시간 구하기 (0) | 2014.09.14 |