当前位置: 首页 > news >正文

网页网站建设软件泰安中推网络科技公司

网页网站建设软件,泰安中推网络科技公司,正规seo关键词排名网络公司,广州学习网站建设哈喽,大家好,我是灰小猿,一个超会写bug的程序猿! 今天来记录一个在项目实战中比较实用的方法,主要是针对一些需要存在简单数据文件导入导出的场景,如:数据文件的简单备份、软件升版前后配置导入…

哈喽,大家好,我是灰小猿,一个超会写bug的程序猿!

今天来记录一个在项目实战中比较实用的方法,主要是针对一些需要存在简单数据文件导入导出的场景,如:数据文件的简单备份、软件升版前后配置导入导出等场景

这个方法可以作为一个工具类来使用,可以将想要导出成文件的数据通过导出方法直接导出为json或ini文件,也可以将导出的文件直接通过导入方法进行解析,返回原先的数据模型。

以导出用户数据为例:

数据模型如下:

import lombok.Data;
import lombok.ToString;@Data
@ToString
public class User {private String address;private String tel;private int number;private boolean can;
}

首先通过导出方法,将数据导出为json或ini文件:

    /*** 导出json文件*/public static void exportJsonFile(String jsonData, String exportPath) {// 生成json格式文件try {// 保证创建一个新文件File file = new File(exportPath);if (!file.getParentFile().exists()) {file.getParentFile().mkdirs();}if (file.exists()) {file.delete();}file.createNewFile();// 将格式化后的字符串写入文件Writer write = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");write.write(jsonData);write.flush();write.close();} catch (Exception e) {e.printStackTrace();}}

之后如果需要再次将导出的数据导入到软件,只需要导入该文件,下述方法将会自动解析文件并将数据返回出去:

     /*** 导入json文件*/public static Object importJsonFile(String importFilePath) {File file = new File(importFilePath);int ch;String jsonStr = "";try (Reader reader = new InputStreamReader(new FileInputStream(file), "Utf-8");) {StringBuffer sb = new StringBuffer();while ((ch = reader.read()) != -1) {sb.append((char) ch);}jsonStr = sb.toString();System.out.println(JSON.parseObject(jsonStr));} catch (Exception e) {e.printStackTrace();}return JSON.parseObject(jsonStr);}

在实际使用中的调用方法如下:

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.hirain.model.User;
import lombok.extern.slf4j.Slf4j;import java.io.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;@Slf4j
public class JsonFileUtils {public static void main(String[] args) {Map<String, Object> jsonMap = new HashMap<>();jsonMap.put("name", "name1");jsonMap.put("age", 20);jsonMap.put("sex", true);User user = new User();user.setAddress("深圳");user.setCan(true);user.setTel("123456");user.setNumber(110);User user2 = new User();user2.setAddress("广州");user2.setCan(false);user2.setTel("888888");user2.setNumber(666);List<User> users = new ArrayList<>();users.add(user);users.add(user2);jsonMap.put("userInfo", users);String jsonData = JSON.toJSONString(jsonMap);//文件输出路径String exportFilePath = "D:\\下载\\testjson.json";exportJsonFile(jsonData, exportFilePath);log.info("导出成功");//解析文件实现导入Map<String, Object> jsonMap2 = (Map<String, Object>) importJsonFile(exportFilePath);System.out.println(jsonMap2.toString());Object userInfo =  jsonMap2.get("userInfo");List<User> userJsonList = JSONObject.parseArray(userInfo.toString(), User.class);System.out.println(userJsonList.toString());log.info("导入成功");}}

上面的方法是以导出json文件为例,如果想要导出ini文件,只需要将文件的后缀名修改一下即可。

在上述方法中,保存到文本的数据是一个map集合,其中存放了多种类型的数据,包括基本的数据类型,以及复杂的对象集合,解析文件之后可以正常拿到这个map集合,并且通过key可以拿到对应的value,

以上就是本期工具类的分享,我们下期见!

http://www.yayakq.cn/news/451647/

相关文章:

  • 双语网站怎么做怎样做分类网站
  • 网站建设 中企动力西安互联网公司排名保定
  • 漳州网站建设哪家好wordpress主题重命名
  • 杭州企业网站定制佛山网站建设公司招聘
  • 网站建设是什么费用wordpress查看访问量
  • 备案价网站上海 网站建设 外包it
  • 代刷网站系统怎么做网站全屏视频怎么做
  • 建一个公司网站费用wordpress 插件表单 写入数据库
  • 手机刷网站排名软件家居企业网站建设精英
  • 徐州手机网站建设公司哪家好wordpress 主题 更换
  • 服务网站运营方案做vip视频网站侵权
  • 医疗 网站前置审批阿坝州网站制作
  • 国内高校网站建设的调查网络推广哪个好
  • 做网站好还是阿里巴巴wordpress secondary title
  • 怎样免费推广网站域名注册阿里
  • 企商百度网站建设沈阳市住房和城乡建设部网站
  • 什么叫seo网站推广网站建设时间计划图
  • 网站建设与管理实用教程课后答案上海网站建设推
  • 网站小空间wordpress如何让导航居中
  • 网站的网站制作公司我要建个人网站
  • 高端网站建设费用情况网络销售怎么找客户
  • 郴州做网站白云区江夏附近做网站
  • 杭州公司注销网站备案网络规划设计师试题
  • 江苏省工程建设信息网站软件开发工程师介绍
  • 安康网站制作公司网页版qq登录入口手机版
  • 自助建站系统免费模式简述电子商务网站建设的基本要求6
  • 模板网站可以做备案吗wordpress改地址
  • 什么是网站定位企点官网下载
  • 承德网站开发区地税在线旅游电商网站有哪些
  • 关联网站有那些门户网站网页设计规范