javaday25
2021/6/15 22:29:39
本文主要是介绍javaday25,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
实现步骤
1、创建一个本地字节收入流FileInputStream 对象,构造方法中绑定读取的数据
2、创建一个socket对象,构造方法中绑定服务器的IP地址和端口号
3、使用socket中的方法getoutputStream获取网络字节输出流
4、使用本地字节输入流中的read方法,读取本地文件
5、使用网络输出流中的write方法,把读取到的文件上传到服务器
6、使用socket中的方法,获取输入流对象
7、通过网络输入流对象中的read方法,读取回写数据
8、释放资源
package demo01FileUpload; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; import java.net.UnknownHostException; public class TcpClient { public static void main(String[] args) throws IOException { FileInputStream fis=new FileInputStream("D:\\exe\\adaw\\java\\web\\img\\1.jpg"); Socket socket=new Socket("192.168.44.1",8888); OutputStream os=socket.getOutputStream(); int len=0; byte[] bytes=new byte[1024]; while((len=fis.read(bytes))!=-1) { os.write(bytes,0,len); } //告诉服务器,文件已经发送完毕 socket.shutdownOutput(); InputStream is=socket.getInputStream(); while((len=is.read(bytes))!=-1) { System.out.println(new String(bytes,0,len)); } fis.close(); socket.close(); } }
package demo01FileUpload; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.ServerSocket; import java.net.Socket; public class TcpServer { public static void main(String[] args) throws IOException { //1、创建一个服务器的serversocket对象 ServerSocket server=new ServerSocket(8888); //2、等待客户端连接 Socket socket=server.accept(); //3、获取输入流 InputStream is=socket.getInputStream(); //准备数据存放的位置 File file=new File("D:\\123456"); if(!file.exists()) { file.mkdirs(); } FileOutputStream fos=new FileOutputStream(file+"\\1.jpg"); int len=0; byte[] bytes=new byte[1024]; while((len=is.read(bytes))!=-1) { fos.write(bytes,0,len); } socket.getOutputStream().write("图片上传成功".getBytes()); fos.close(); socket.close(); server.close(); } }
package demo02FileUpioad; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; import java.net.UnknownHostException; public class TcpClient { public static void main(String[] args) throws IOException { //1、创建一个本地字节收入流FileInputStream 对象,构造方法中绑定读取的数据 FileInputStream fis=new FileInputStream("D:\\exe\\adaw\\java\\web\\img\\1.jpg"); //2、创建一个socket对象,构造方法中绑定服务器的IP地址和端口号 Socket socket=new Socket("192.168.174.1",8888); //3、使用socket中的方法getoutputStream获取网络字节输出流 OutputStream os=socket.getOutputStream(); int len=0; byte[] bytes=new byte[1024]; //4、使用本地字节输入流中的read方法,读取本地文件 //5、使用网络输出流中的write方法,把读取到的文件上传到服务器 while((len=fis.read(bytes))!=-1) { os.write(bytes,0,len); } //告诉服务器,文件已经发送完毕 socket.shutdownOutput(); //获取网络输入流 InputStream is=socket.getInputStream(); //7、通过网络输入流对象中的read方法,读取回写数据 while((len=is.read(bytes))!=-1) { System.out.println(new String(bytes,0,len)); } //释放资源 fis.close(); socket.close(); } }
package demo02FileUpioad; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.ServerSocket; import java.net.Socket; import java.util.Random; public class TcpServer { public static void main(String[] args) throws IOException { //1、创建一个服务器的serversocket对象 ServerSocket server=new ServerSocket(8888); while(true) { //2、等待客户端连接 Socket socket=server.accept(); new Thread (new Runnable() { public void run() { try { //3、获取输入流 InputStream is=socket.getInputStream(); // File file=new File("D:\\123456"); if(!file.exists()) { file.mkdirs(); } String fileName="classFive"+System.currentTimeMillis()+new Random().nextInt(99999)+".jpg"; FileOutputStream fos=new FileOutputStream(file+"\\1.jpg"); int len=0; byte[] bytes=new byte[1024]; while((len=is.read(bytes))!=-1) { fos.write(bytes,0,len); } socket.getOutputStream().write("图片上传成功".getBytes()); fos.close(); socket.close(); }catch(IOException e) { System.out.println(e); } } }).start(); } } }
package demo03BS; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; public class TcpServerThread { public static void main(String[] args) throws IOException { ServerSocket server=new ServerSocket(9898); while(true) { Socket socket=server.accept(); new Thread (new Runnable() { public void run() { try { InputStream is=socket.getInputStream(); byte[] bytes=new byte[1024]; int len=0; BufferedReader br=new BufferedReader(new InputStreamReader(is)); // GET /web HTTP.1.1 String line =br.readLine(); System.out.println(line); String [] arr=line.split(" "); String htmlpath =arr[1]; FileInputStream fis=new FileInputStream(System.getProperty("user.dir")+htmlpath); OutputStream os=socket.getOutputStream(); os.write("HTTP/1.1 200 OK\r\n".getBytes()); os.write("Content-Type:text/html\r\n".getBytes()); //必须要写入空行,否则浏览器不会解析 os.write("\r\n".getBytes()); while((len=fis.read(bytes))!=-1) { os.write(bytes,0,len); } fis.close(); socket.close(); }catch(IOException e) { System.out.println(e); } } }).start(); } } }
package demo03BS; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; public class TcpSrever { public static void main(String[] args) throws IOException { ServerSocket server=new ServerSocket(8080); Socket socket=server.accept(); InputStream is=socket.getInputStream(); byte[] bytes=new byte[1024]; int len=0; // while((len=is.read(bytes))!=-1) { System.out.println(new String (bytes,0,len)); // } BufferedReader br=new BufferedReader(new InputStreamReader(is)); // GET /web HTTP/1.1 String line=br.readLine(); String [] arr=line.split(" "); String htmlpath =arr[1]; FileInputStream fis=new FileInputStream(System.getProperty("user.dir")+htmlpath); OutputStream os=socket.getOutputStream(); os.write("HTTP/1.1 200 OK\r\n".getBytes()); os.write("Content-Type:texe/html\r\n".getBytes()); os.write("\r\n".getBytes()); while((len=fis.read(bytes))!=-1) { os.write(bytes,0,len); } fis.close(); socket.close(); server.close(); } }
这篇关于javaday25的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-27消息中间件底层原理资料详解
- 2024-11-27RocketMQ底层原理资料详解:新手入门教程
- 2024-11-27MQ底层原理资料详解:新手入门教程
- 2024-11-27MQ项目开发资料入门教程
- 2024-11-27RocketMQ源码资料详解:新手入门教程
- 2024-11-27本地多文件上传简易教程
- 2024-11-26消息中间件源码剖析教程
- 2024-11-26JAVA语音识别项目资料的收集与应用
- 2024-11-26Java语音识别项目资料:入门级教程与实战指南
- 2024-11-26SpringAI:Java 开发的智能新利器