解析stu.txt文本中的内容,解析完之后将其封装成一个对象添加到集合中。 然后通过客户端发送到服务器端将其保存到文件中。(已经提供了基类)
2020-02-03 00:32
169 查看
解析stu.txt文本中的内容,解析完之后将其封装成一个对象添加到集合中。
然后通过客户端发送到服务器端将其保存到文件中。(已经提供了基类)
客户端
package com.briup.day26; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.InputStream; import java.io.ObjectOutputStream; import java.io.OutputStream; import java.net.Socket; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.ListIterator; public class Client { public static void main(String[] args) throws Exception { List<Student> list = new ArrayList<>(); Socket socket = new Socket("127.0.0.1" , 8989); ObjectOutputStream os = new ObjectOutputStream(socket.getOutputStream()); File file = new File("src/stu.txt"); FileReader fr = new FileReader(file); BufferedReader br = new BufferedReader(fr); String s = br.readLine(); // System.out.println(s); while(s != null) { String[] stu = s.split(":"); int a = Integer.parseInt(stu[1]); list.add(new Student(stu[0] , a , stu[2] , stu[3])); s = br.readLine(); } Iterator it = list.iterator(); //获取迭代器的引用 while(it.hasNext()) { //集合中的迭代方法(遍历) System.out.println(it.next()); } os.writeObject(list);//将list集合写到输出流里面 os.flush(); os.close(); br.close(); } }
服务端
package com.briup.day26; import java.io.FileOutputStream; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.net.ServerSocket; import java.net.Socket; import java.util.List; public class Server { public static void main(String[] args) throws Exception { // TODO Auto-generated method stub ServerSocket serverSocket = new ServerSocket(8989); Socket socket = serverSocket.accept();//服务端TCP ObjectInputStream is = new ObjectInputStream(socket.getInputStream());//输入流 List<Student> s = (List) is.readObject(); System.out.println(s); ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("src/stu1.txt"));//输出流 // for (Student student : s) { oos.writeObject(s); // } } }
student类(已序列化)
package com.briup.day26; import java.io.Serializable; public class Student implements Serializable{ private String name; private int age; private String sex; private String hobbies; public Student(String name, int age, String sex, String hobbies) { this.name = name; this.age = age; this.sex = sex; this.hobbies = hobbies; } public Student() { super(); } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getHobbies() { return hobbies; } public void setHobbies(String hobbies) { this.hobbies = hobbies; } @Override public String toString() { return "Student [name=" + name + ", age=" + age + ", sex=" + sex + ", hobbies=" + hobbies + "]"; } }
stu.txt
Zhangsan:20:男:喜欢唱歌
Zhangsan1:21:女:喜欢跳舞
Zhangsan2:22:女:喜欢打麻将
Zhangsan3:23:男:喜欢打游戏
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 建立一个文本文件in.txt,在其中输入若干个正整数,中间用空格分隔,然后保存起来;在窗体上添加一个命令按钮和一个标签框,当单击命令按钮时将in.txt文件中存放的所有的能被3整除的数的和显示在标签框
- 设有一个已经清洗之后的文本文件 word.txt,里面存放的是用空格或者换行分开的英文单词。统计其中每个词出现的频率,将统计结果保存在某个文件中。
- 使用jQuery匹配文档中所有的li元素,返回一个jQuery对象,然后通过数组下标的方式读取jQuery集合中第1个DOM元素,此时返回的是DOM对象,然后调用DOM属性innerHTML,读取该元素 包含的文本信息
- android 将图片内容解析成字节数组,将字节数组转换为ImageView可调用的Bitmap对象,图片缩放,把字节数组保存为一个文件,把Bitmap转Byte
- android 将图片内容解析成字节数组,将字节数组转换为ImageView可调用的Bitmap对象,图片缩放,把字节数组保存为一个文件,把Bitmap转Byte
- android 将图片内容解析成字节数组,将字节数组转换为ImageView可调用的Bitmap对象,图片缩放,把字节数组保存为一个文件,把Bitmap转Byt
- android 将图片内容解析成字节数组,将字节数组转换为ImageView可调用的Bitmap对象,图片缩放,把字节数组保存为一个文件,把Bitmap转Byte
- android 将图片内容解析成字节数组,将字节数组转换为ImageView可调用的Bitmap对象,图片缩放,把字节数组保存为一个文件,把Bitmap转Byte
- 编写一个程序,在E盘下创建一个abc.txt的文本文档,通过输出流在文档内添加数据,然后在把abc.txt复制到F盘下
- // 编写一个程序,在E盘下创建一个abc.txt的文本文档,通过输出流在文档内添加数据,然后在把abc.txt复制到F盘下
- 使用输入/输出包中的类读取D盘上exam.txt文本文件的内容,每次读取一行内容,将每行作为一个输入放入ArrayList的泛型集合中并将集合中的内容使用加强for进行输出显示。
- android 将图片内容解析成字节数组,将字节数组转换为ImageView可调用的Bitmap对象,图片缩放,把字节数组保存为一个文件,把Bitmap转Byte
- 通过 http 协议上传文件(rfc1867协议概述,jsp 应用举例,客户端发送内容构造)
- 通过 http 协议上传文件(rfc1867协议概述,jsp 应用举例,客户端发送内容构造)
- 转载:读取一个文本文件并把文件中的文本保存在一个CString对象中,如何能做到
- 完成一个学生管理程序,使用学号作为键添加5个学生对象,并可以将全部信息保存在文件中,可以实现对学生信息的学号查找,输出全部学生信息的功能。
- 第二周第四天(解析/过滤文件/找d盘里的所有txt文件/FileInputStream/FileOutputStream/拷贝文件/readLine读取一个文本行/在一个文档里写入内容)
- {网络编程}和{多线程}应用:基于TCP协议【实现多个客户端发送文件给一个服务器端】--练习
- 通过向服务器端发送get请求来让服务器端将其上的文件下载到客户端
- 读取一个文件夹下所有的txt文件,并保存到一个txt文本中