把xml文件开始的编码代号换成“gb2312”

附加:

import IceInternal.Ex;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;/*** xml生成工具* @author admin**/
public class JaxbUtil {private static final Logger logger = LoggerFactory.getLogger(JaxbUtil.class);/*** 生成xml* @param datas 数据* @param filePath 文件路径* @return*/public static <T> boolean createXml(T datas,String filePath) {try {File f = new File(filePath);if(!f.getParentFile().exists()) {f.getParentFile().mkdirs();if(!f.exists()) {f.createNewFile();}}FileWriter fw = new FileWriter(f);JAXBContext context = JAXBContext.newInstance(datas.getClass());Marshaller m = context.createMarshaller();m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);m.setProperty(Marshaller.JAXB_ENCODING, "UTF-8"); // 防止文件中文乱码m.marshal(datas, fw);fw.flush();fw.close();return true;} catch (Exception e) {e.printStackTrace();return false;}}/*** 生成xml* @param datas 数据* @param filePath 文件路径* @param coding 文件编码* @return*/public static <T> boolean createXml(T datas,String filePath,String coding) {try {File f = new File(filePath);if(!f.getParentFile().exists()) {f.getParentFile().mkdirs();}FileWriter fw = new FileWriter(f);JAXBContext context = JAXBContext.newInstance(datas.getClass());Marshaller m = context.createMarshaller();m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);m.setProperty(Marshaller.JAXB_ENCODING, coding); // 防止文件中文乱码m.marshal(datas, fw);fw.flush();fw.close();return true;} catch (Exception e) {e.printStackTrace();return false;}}/*** 读取xml* @param filePath 文件路径* @param type 接收容器* @return*/@SuppressWarnings("unchecked")public static <T> T readXml(String filePath,Class<T> type) {T value = null;InputStream in = null;InputStreamReader read = null;try {JAXBContext context = JAXBContext.newInstance(type);Unmarshaller u = context.createUnmarshaller();in = new FileInputStream(filePath);read = new InputStreamReader(in,"UTF-8");value = (T) u.unmarshal(read);}catch(Exception e) {e.printStackTrace();}finally {try {if(in!=null) {in.close();}if(read!=null) {read.close();}}catch(Exception e) {e.printStackTrace();}}return value;}/*** 读取xml* @param filePath 文件路径* @param coding 文件编码* @param type 接收容器* @return*/@SuppressWarnings("unchecked")public static <T> T readXml(String filePath,String coding,Class<T> type) {T value = null;InputStream in = null;InputStreamReader read = null;try {JAXBContext context = JAXBContext.newInstance(type);Unmarshaller u = context.createUnmarshaller();in = new FileInputStream(filePath);read = new InputStreamReader(in,coding);value = (T) u.unmarshal(read);}catch(Exception e) {e.printStackTrace();}finally {try {if(in!=null) {in.close();}if(read!=null) {read.close();}}catch(Exception e) {e.printStackTrace();}}return value;}/*** 为配置任务流量追加数据** @param filePath* @param dbXml*/public static void appendTask(String filePath, DBXml dbXml){Tasks readXml = getTasks(filePath);List<DBXml> list = new ArrayList<>();if(readXml == null){readXml = new Tasks();list.add(dbXml);readXml.setTask(list);createXml(readXml,filePath,"utf-8");}else {if(readXml.getTask()==null){list.add(dbXml);}else{List<DBXml> taskList = readXml.getTask();for (DBXml tfi:taskList) {//只保存同一个TaskUniqueIDif(!tfi.getDbUniqueId().equals(dbXml.getDbUniqueId())){list.add(tfi);}}list.add(dbXml);}readXml.setTask(list);createXml(readXml,filePath,"utf-8");}}private static Tasks getTasks(String filePath) {Tasks readXml = null;try{if(new File(filePath).isFile()){readXml = readXml(filePath, "utf-8",Tasks.class);}}catch (Exception e){logger.error("appendTask"+ ExceptionUtil.getException(e));e.printStackTrace();}return readXml;}/****/public static void deleteTask(String filePath, String dbUniqueId){Tasks readXml = getTasks(filePath);if(readXml!=null&&readXml.getTask()!=null){List<DBXml> list = new ArrayList<>();List<DBXml> taskList = readXml.getTask();for (DBXml dbXml:taskList) {if(!dbXml.getDbUniqueId().equals(dbUniqueId)){list.add(dbXml);}}readXml.setTask(list);createXml(readXml,filePath,"utf-8");}}
}

xml读取出现中文乱码相关推荐

  1. python读取中文文件乱码-详解Python的json文件读取及中文乱码显示问题解决方法...

    Python的json文件读取及解决中文乱码显示问题 本文实例讲述了Python实现的json文件读取及中文乱码显示问题解决方法.分享给大家供大家参考,具体如下: city.json文件的内容如下: ...

  2. SpringBoot使用@Value读取.properties中文乱码及解决方法

    问题重现 某不知名springboot小项目,application.properties文件: custom.param=中文属性值 java代码: @SpringBootApplication p ...

  3. python json.loads()中文问题-Python实现的json文件读取及中文乱码显示问题解决方法...

    本文实例讲述了Python实现的json文件读取及中文乱码显示问题解决方法.分享给大家供大家参考,具体如下: city.json文件的内容如下: { "cities": [ { & ...

  4. node.js读取文件中文乱码问题

    node.js读取文件中文乱码问题 出现乱码原因: 在windows中,默认的中文编码方式是根据系统的locale决定的,中文系统中的默认的编码方式为gb2312而不是utf-8 解决方法: 如果读取 ...

  5. mysql 中文 java_Java 读取 MySQL 中文 乱码

    Java 读取 MySQL 中文 乱码 场景:Java,eclipse,读取MySQL数据库,MySQL编码为utf-8 问题:读出来的中文在eclipse的输出窗口中显示为乱码 错误的写法 1 Sy ...

  6. 解决Spring项目读取配置文件中文乱码问题

    解决Spring项目读取配置文件中文乱码问题 properties配置文件读取时中文乱码,错误如下: 解决方法如下: **1.**打开IDEA的设置项,进入Editor->File encodi ...

  7. 解决scala_spark本地读取csv中文乱码问题

    正常读取: val spark = SparkSession.builder().master("local").appName("rank").getOrCr ...

  8. c++读取文本中文乱码

           当我们想在vs中读取txt文本中的中文文字时,可能会出现乱码的情况,像下面这样.这是事先编好的文本内容,我通过文件读取却变成了不认识的"乱码"中文.  原因:txt文 ...

  9. @Value读取properties中文乱码解决方案

    当我们在项目中需要读取配置文件的变量时,往往会遇到读取中文乱码的问题: 英文字符则不会出现该问题. 出现该问题的原因是: SpringBoot在加载配置文件时,使用的默认编码是:ISO_8859_1. ...

最新文章

  1. Nginx的配置文件nginx.conf详解
  2. php分页样式,thinkphp分页样式修改
  3. 一:(1.4)了解MVC之区域
  4. Python 网络爬虫笔记5 -- Beautiful Soup库实战
  5. 2014_hangzhou_onsite
  6. [css] flex与其他有什么不同,用它有什么好处?
  7. php替换不区分大小写_PHP大小写问题:函数名和类名不区分,变量名区分
  8. python生物数据分析_Python学生物统计-数据可视化-学习笔记5
  9. 小汤学编程之JavaScript学习day04——自定义对象、原型与原型链、BOM
  10. 抓住“智慧城市”的机遇
  11. goland gorm分组查询统计_MySQL·查询(一)
  12. 【毕业设计】单片机智能快递柜系统 - stm32 嵌入式 物联网
  13. 《高情商修炼手册》 by 小粥超人(小hi)Hygge @Chou
  14. mac更新系统后xcode问题
  15. python基于opencv的手势识别_求python opencv 手势识别源代码
  16. thingsboard
  17. jquery slideToggle 动画问题
  18. scram-sha1
  19. 区块链技术在网络安全中的应用
  20. 《英语语法新思维初级教程》学习笔记(三)冠词

热门文章

  1. 微信公众号小程序外卖返利分销系统美团饿了么外卖cps软件源码
  2. Magic Mouse 苹果鼠标移动速度改快的方法
  3. 手工彻底清除各种顽固性 Trojan Horse 木马的方法
  4. 阿尔法c语言程序设计考试题,计算机考试习题
  5. matexs不支持鸿蒙,华为mateXs为何从兼容安卓改成基于安卓,是鸿蒙不行还是另有隐情...
  6. workbench导入excel
  7. 数据中台常用术语整理
  8. linux 进程间界面嵌套,WPF 同一窗口内的多线程/多进程 UI(使用 SetParent 嵌入另一个窗口)...
  9. Docker手把手教程(一)概述 安装
  10. 图片站选择什么样的服务器好?