📄 clientsocket.java
字号:
import java.net.*;
import java.io.*;
public class ClientSocket
{
public static void main(String[] args) throws IOException
{
BufferedReader scanin=new BufferedReader(new InputStreamReader(System.in));//get from keyboard
System.out.println("please input the IpAddress to communicate(for instance:127.0.0.1):");
String IPAddress = scanin.readLine();
InetAddress addr= InetAddress.getByName(IPAddress);
System.out.println("addr="+addr);
Socket socket=new Socket(addr,8080);//port may be changed to "8080"
try
{
System.out.println(" socket="+socket);
//socket
BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out=new PrintWriter(new BufferedWriter (new OutputStreamWriter(socket.getOutputStream())),true);
System.out.println(" =======注意:本实验适合于txt文件的上传和下载.=====");
//choose option
System.out.println("======== 》请选择: 1 ---> 上传 ; 0 ---> 下载 :");
String choice = scanin.readLine();
while(choice.compareTo("1")!=0&&choice.compareTo("0")!=0)
{
System.out.println("操作错误.");
System.out.println("请选择: 1 ---> 上传 ; 0 ---> 下载 :");
choice = scanin.readLine();
}
out.println(choice);//send the choice to the server.
//send file to server.
if(choice.compareTo("1")==0)//上传
{
//file
System.out.println(" ===》请输入要上传的文件名(包含文件路径)");
String file_name = scanin.readLine();
InputStream is = new FileInputStream(file_name);
BufferedReader reader_file = new BufferedReader(new InputStreamReader(is));
String line;// 用来保存每行读取的内容
line = reader_file.readLine();
while(line!=null)
{
out.println(line);//send
line = reader_file.readLine();
}
reader_file.close();
out.close();
System.out.println("ok");
}
//download file from server.
else if(choice.compareTo("0")==0)//下载
{
System.out.println("服务器端可供下载的文件有:");
String file_indir;
file_indir=in.readLine();
while(file_indir.compareTo("end")!=0)
{
//list the files for download
System.out.println(file_indir);
file_indir = in.readLine();
}
System.out.println(" ===》请输入要下载的文件名");
String downloadfile_name = scanin.readLine();
out.println(downloadfile_name);
System.out.println(" ===》请输入保存下载文件的新文件名");
String file_name = scanin.readLine();
OutputStream file_out = new FileOutputStream(file_name);
BufferedWriter writer_file = new BufferedWriter(new OutputStreamWriter(file_out));
String line;
line=in.readLine();
while(line!=null)
{
writer_file.write(line);
writer_file.newLine();
line = in.readLine();
}
writer_file.close();
System.out.println("OK!");
}
}
finally
{
System.out.println("close....");
socket.close();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -