已经自学到了24天,
但是知识点好多,战线好长,前面学的很多不常用的知识点都忘记了。
想在家里好好复习一段时间,然后直接报名就业办,
可是又觉得基础班巩固一下会更系统的学习到知识。。
心里更偏向于在家里,毕竟这么长时间自学过来了,而且家里毕竟更。。。温馨一点{:3_56:}
附上昨天拖到今天的作业
- /*
- 需求:上传图片。
- */
- /*
- 客户端。
- 1,服务端点。
- 2,读取客户端已有的图片数据。
- 3,通过socket 输出流将数据发给服务端。
- 4,读取服务端反馈信息。
- 5,关闭。
- */
- import java.io.*;
- import java.net.*;
- class PicClient {
- public static void main(String[] args) throws Exception {
- //建立服务端点
- Socket socket = new Socket("192.168.199.108",1230);
-
- //关联被上传文件
- File file = new File("D:\\always\\Pictures\\新建文件夹\\IMG_5474.JPG");
- FileInputStream fis = new FileInputStream(file);
-
- //获取向服务端写入数据的输出流
- OutputStream out = socket.getOutputStream();
-
- //读取客户端文件并写入服务端
- byte[] buf = new byte[1024*1024];
- int len = 0;
- while((len = fis.read(buf))!= -1) {
- out.write(buf, 0, len);
- }
-
- //告诉服务端数据写入完毕
- socket.shutdownOutput();
-
- //读取服务端接收数据回执
- InputStream in = socket.getInputStream();
- len = in.read(buf);//我想这个in和buf应该是可以直接拿来用的,不用再重新new。
- System.out.println(new String(buf, 0, len));
-
- //关闭资源
- socket.close();
- fis.close();
- }
- }
- /*
- 服务端
- */
- class PicServer {
- public static void main(String[] args) throws Exception {
- //建立服务端socket服务,并监听端口。
- ServerSocket ss = new ServerSocket(1230);
-
- //获取客户端对象
- Socket socket = ss.accept();
-
- //监听连接
- String ip = socket.getInetAddress().getHostAddress();
- System.out.println(ip + "...is connected");
-
- //获取读取流读取客户端发来的文件数据
- InputStream in = socket.getInputStream();
-
- //创建输出流把文件数据写入到硬盘
- File file = new File("server.jpg");
- FileOutputStream fos = new FileOutputStream(file);
-
- //读取和写入
- byte[] buf = new byte[1024*1024];
- int len = 0;
- while((len = in.read(buf))!= -1) {
- fos.write(buf, 0, len);
- }
-
- //发给客户端接收完毕回执
- OutputStream out = socket.getOutputStream();
- out.write("上传成功".getBytes());
-
- //关闭资源
- fos.close();
- socket.close();
- ss.close();
- }
- }
复制代码 |