ftpserver.java

来自「Java的ftp实现 包含客户端和服务器端」· Java 代码 · 共 65 行

JAVA
65
字号
package com.briup.ch14;import java.net.*;import java.io.*;public class FtpServer{    public static void main(String[] args){	if(args.length != 1){	    System.out.println("Usage: FtpServer server_port");	    System.exit(0);	}	ServerSocket ss = null;	try{	    ss = new ServerSocket(Integer.parseInt(args[0]));	    System.out.println("FtpServer start on port ..." + args[0]);	    while(true){		Socket s = ss.accept();		new FtpThread(s).start();		System.out.println(s.getInetAddress().getHostAddress() + " connected.");	    }	}catch(Exception e){	    System.out.println("Error: " + e.getMessage());	}finally{	    try{		if(ss != null) ss.close();	    }catch(Exception e){}	}    }}class FtpThread extends Thread{    Socket s;    long fileName = 0;    public FtpThread(Socket s){	this.s = s;    }    public void run(){	FileOutputStream out = null;	InputStream in = null;	File file = null;	do{	    file = new File("" + (fileName++));	}while(file.exists());	try{	    out = new FileOutputStream(file);	    in  = s.getInputStream();	    byte[] buffer = new byte[1024*8];	    int len = -1;	    while((len=in.read(buffer)) != -1){		out.write(buffer, 0, len);	    }	}catch(Exception e){	    System.out.println("Error: " + e.getMessage());	}finally{	    try{		if(in != null) in.close();		if(out != null) out.close();		if(s != null) s.close();		System.out.println(s.getInetAddress().getHostAddress() + " connect closed..");	    }catch(Exception e){}	}    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?