//项目一
package com.itheima;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
class TCPSever{
private static final int PORT = 7788;
static int num = 1;
public void listen()throws Exception{
ServerSocket serverSocket = new ServerSocket(PORT);//服务器端
while(true)
{
final Socket client = serverSocket.accept();//接收
new Thread(){
public void run(){
try {
//接收
InputStream is;
is = client.getInputStream();
System.out.println("开始与客户端交互数据");
byte[] buf = new byte[1024];
int len = is.read(buf);
String str = new String(buf, 0, len);
//对名字进行处理
String ip = client.getInetAddress().getHostAddress();
ip = change(ip);//标识
String suffix = str.substring(str.lastIndexOf("."));//后缀
//上传
String st = "D:\\upload";
InputStream in = new FileInputStream(str);
OutputStream out = new FileOutputStream(st+"/"+ip+suffix);
while((len = in.read()) != -1){
out.write(len);
}
System.out.println("上传成功");
client.close();
}catch(Exception e)
{
e.printStackTrace();
}
}
}.start();
}
}
//标识
public static String change(String str){
char[] a = str.toCharArray();
int i;
for (i = str.length() - 1; i >= 0; i--)
if (a[i] == '.')
break;
String st = new String(a, 0, i + 1);
String add = "(" + num + ")";
st += add;
num++;
return st;
}
}
public class Main{
public static void main(String[] args)throws Exception{
new TCPSever().listen();
}
}
//项目二
package com.itheima;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket;
import java.util.Scanner;
class TCPClient{
private static final int PORT = 7788;
public void connect()throws Exception{
//创建一个Socket连接服务端
Socket client = new Socket(InetAddress.getLocalHost(), PORT);
//输入路径
System.out.println("请输入需要上传文件的路径");
Scanner in = new Scanner(System.in);
String str = in.next();
//输入到服务端
OutputStream os;
os = client.getOutputStream();
os.write(str.getBytes());
client.close();
}
}
public class Main{
public static void main(String[] args)throws Exception{
new TCPClient().connect();
}
}
java基础案例9-3上传文件
最新推荐文章于 2024-07-22 14:15:06 发布