67,513
社区成员
发帖
与我相关
我的任务
分享
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.InetAddress;
import java.net.Socket;
public class FTP
{
private BufferedReader ftpBr;
private BufferedWriter ftpBw;
private BufferedReader stdBr = new BufferedReader(new InputStreamReader(System.in));
private boolean run = true;
public FTP()
{
try
{
connect();
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
public void connect() throws Exception
{
String temp;
System.out.println("Input the ip address:");
String ip = stdBr.readLine();
System.out.println("Input the port:");
int port = Integer.parseInt(stdBr.readLine());
Socket aim = new Socket(ip, port);
ftpBr = new BufferedReader(new InputStreamReader(aim.getInputStream()));
ftpBw = new BufferedWriter(new OutputStreamWriter(aim.getOutputStream()));
new Thread()
{
public void run()
{
try
{
String temp;
while(run)
{
temp = ftpBr.readLine();
if(temp == null)
{
break;
}
System.out.println(temp);
}
ftpBr.close();
}
catch(Exception ex)
{
ex.printStackTrace();
return;
}
}
}.start();
while(!(temp = stdBr.readLine()).equals("QUIT"))
{
ftpBw.write(temp);
ftpBw.newLine();
ftpBw.flush();
}
ftpBw.write(stdBr.readLine());
ftpBw.newLine();
ftpBw.flush();
ftpBw.close();
stdBr.close();
run = false;
}
public static void main(String[] args)
{
new FTP();
}
}