您的位置:首页 > 其它

解析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:男:喜欢打游戏

  • 点赞
  • 收藏
  • 分享
  • 文章举报
weixin_45553582 发布了5 篇原创文章 · 获赞 0 · 访问量 271 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐