IO模拟手机号携号转网功能
一、功能说明
- 根据国家政策,目前中国移动和中国联通开启了携号转网的活动:移动–>联通
- 用户需要根据自己输入信息,到移动公司进行申请,用户输入信息,移动查询是否欠费,不欠费,将数据写入文件,欠费不予办理;
- 前往联通公司办理业务,联通公司读取对象流,将数据添加到联通公司服务器,办理成功
二、思路
1. 构建用户对象:姓名、身份证号、资费金额、手机号码
2. 用户首先登陆移动信息,通过RandomAccessFile读取自己服务器文件cm.txt
3. 判定用户是否存在,判定是否欠费
4. 移动服务器将用户数据序列化,放入到 data.txt中
5. 用户前往联通大厅,联通服务器读取data.txt中,读取信息
6. 联通服务器将数据写入自己服务器cu.txt
数据文件格式如下:
编码格式:utf-8
姓名:12个字节
手机号:11个字节
身份证号:18个字节
资费:6个字节
李白 15312341234421421198912245299-136.5
孙尚香 15312341234421421198912245299+106.5
鲁班七号15312341234421421198912245299-126.5
王昭君 15312341234421421122112245299+336.5
诸葛亮 15312341234421421100112245299+536.5
妲己 15312341234421421198912245299-106.5
小乔 15312341234421421198912245299-236.5
三、代码实现
1. 首先是用户实体类
User.java
package com.feonix;
import java.io.Serializable;
/**
* 用户类 实现 序列化接口(后面要用到序列化,所以这里必须实现序列化接口)
*
* @author FeoniX
*
*/
public class User implements Serializable {
// 序列化唯一ID
private static final long serialVersionUID = -571955106719025344L;
/** 姓名 */
private String name;
/** 身份证号 */
private String idCard;
/** 手机号 */
private String mobile;
/** 资费金额 */
private String cost;
public User() {
super();
}
public User(String name, String idCard, String mobile, String cost) {
super();
this.name = name;
this.idCard = idCard;
this.mobile = mobile;
this.cost = cost;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getIdCard() {
return idCard;
}
public void setIdCard(String idCard) {
this.idCard = idCard;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getCost() {
return cost;
}
public void setCost(String cost) {
this.cost = cost;
}
@Override
public String toString() {
return "User [name=" + name + ", idCard=" + idCard + ", mobile=" + mobile + ", cost=" + cost + "]";
}
}

本文介绍了使用Java实现手机号携号转网功能的过程,包括功能说明、实现思路和代码实现。用户在移动公司申请,移动查询欠费情况,数据写入文件;联通公司读取数据,添加到服务器。示例中通过名字匹配查询用户,实际操作中可按手机号查询。
最低0.47元/天 解锁文章
1130

被折叠的 条评论
为什么被折叠?



