`
jilong-liang
  • 浏览: 481516 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类

XML,JSON格式化以及文件读写封装

    博客分类:
  • Java
阅读更多
package com.org.utils;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.HashMap;
import java.util.Map;

import org.dom4j.Document;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonElement;
import com.google.gson.JsonParser;
/**
 *@CopyRight:liangjilong
 *@DEMO:midu
 *@Author:jilongliang
 *@Email:jilongliang@sina.com
 *@Date:2014-1-25
 */
public class HadlerUtil {
	 private static String content = "",line=System.getProperty("line.separator");//换行相当于\n  
	/**
	 * 读文件流
	 * @param formPath从哪里读取的文件路径
	 * @return
	 */
	public static Map<String, String> readConfig(String formPath) {
		String content = "";
		Map<String, String> map = new HashMap<String, String>();
		FileReader read = null;
		BufferedReader reader = null;
		try {
			read = new FileReader(new File(formPath));
			reader = new BufferedReader(read);
			content = reader.readLine();
			while (content != null) {
				String val[] = content.split("=");
				if (val.length > 0) {
					String key = val[0];// ,分开
					map.put(key, val[1]);
				}
				content = reader.readLine();
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				if (reader != null||read!=null)
					reader.close();	read.close();
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		return map;
	}
	
	/** 
     * 读文件流 
     * @param formPath从哪里读取的文件路径 
     * @return 
     */  
    public static String reader(String formPath) {  
        FileReader read = null;  
        BufferedReader reader = null;  
        try {  
            read = new FileReader(new File(formPath));  
            reader = new BufferedReader(read);  
            StringBuffer buffer = new StringBuffer("");  
            content = reader.readLine();  
            while (content != null) {  
                buffer.append(content).append(line);  
                content = reader.readLine();  
            }  
            return content = buffer.toString();//返回  
        } catch (Exception e) {  
            e.printStackTrace();  
        } finally {  
            try {  
                if (reader != null)reader.close();  
                if (read != null)read.close();  
            } catch (Exception e) {  
                e.printStackTrace();  
            }  
        }  
        return "";//没值就返回空  
    }  
	/**
	 * 文件处理
	 * @param content
	 * @param toPath写到那个路径下
	 * @return
	 */
	public static boolean writer(String content, String toPath) {  
        boolean flag = true;  
        try {  
            Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(toPath), "utf-8"));//设置编码  
            out.write("\n" + content);  
            out.close();  
        } catch (Exception ex) {  
            ex.printStackTrace();  
            return false;  
        }  
        return flag;  
    }  
	
	/**
	 * xml格式化,使用xml数据美化
	 * @param document
	 * @param filePath
	 * @return
	 */
	public static boolean formatAsXml(Document document) {
		boolean ret=true;
		OutputFormat format = OutputFormat.createPrettyPrint();// 格式
		format.setEncoding("utf-8");// 设置格式编码
		try {
			/** 将document中的内容写入文件中new XMLWriter(new FileWriter(new File(filename))); */
			XMLWriter writer = new XMLWriter(format);
			writer.write(document);
			writer.close();
		} catch (IOException e) {
			e.printStackTrace();
			ret=false;
		}
		return ret;
	}
	/**
	 * xml格式化,使用xml数据美化
	 * @param document
	 * @param filePath
	 * @return
	 */
	public static boolean formatAsXml(Document document, String filePath) {
		boolean ret=true;
		OutputFormat format = OutputFormat.createPrettyPrint();// 格式
		format.setEncoding("utf-8");// 设置格式编码
		try {
			/** 将document中的内容写入文件中new XMLWriter(new FileWriter(new File(filename))); */
			XMLWriter writer = new XMLWriter(new FileWriter(new File(filePath)),format);
			writer.write(document);
			writer.close();
		} catch (IOException e) {
			e.printStackTrace();
			ret=false;
		}
		return ret;
	}
	/**
	 * 格式JSON,使Json美化
	 * @param content
	 * @return
	 */
	public static String formatAsJSON(String content){
        Gson gson = new GsonBuilder().setPrettyPrinting().create();
        JsonParser jsonPar = new JsonParser();
        JsonElement jsonEl = jsonPar.parse(content);
        String prettyJson = gson.toJson(jsonEl);
        return prettyJson;

	}
	
}

 

0
0
分享到:
评论
3 楼 wzwahl36 2014-05-20  
嗯,这个也是~~~
jilong-liang 写道
wzwahl36 写道
给你推荐一个在线的:http://www.atool.org/xmlformat.php

能用自己代码实现就用代码实现~懒得去找在线格式化~万一没网络或者断网呢?这个是方便自己在本地测试看的啊~

2 楼 jilong-liang 2014-05-14  
wzwahl36 写道
给你推荐一个在线的:http://www.atool.org/xmlformat.php

能用自己代码实现就用代码实现~懒得去找在线格式化~万一没网络或者断网呢?这个是方便自己在本地测试看的啊~
1 楼 wzwahl36 2014-05-12  
给你推荐一个在线的:http://www.atool.org/xmlformat.php

相关推荐

    配置文本文件读取封装

    它们可以是JSON、XML、INI或简单的文本文件,其中文本文件因其简洁性和易读性而常见。配置文件的使用有助于程序的灵活性和可配置性,允许用户根据需求调整程序行为。 2. **逐行读取**:在处理文本配置文件时,通常...

    天气预报 xml json

    XML是一种结构化语言,用于描述数据,而JSON则更为简洁,更接近于编程语言的语法,易于读写和处理。 描述中提到的“代码类”,暗示这是一个面向对象编程的实现,可能是用Java、Python或C#等支持面向对象特性的编程...

    c#json封装和解析练习例子

    在实际项目中,经常需要配置文件以JSON格式存储,使用`JsonConfigurationProvider`可以方便地读取和处理这些配置。 综上所述,C#中JSON的封装和解析涉及到多个方面,包括基本的序列化和反序列化操作,自定义序列化...

    java中json的封装和解析

    2. JSON文件读写 如果JSON数据存储在文件中,可以使用`ObjectMapper.readTree`读取JSON文件到JsonNode对象,然后进一步解析;也可以使用`ObjectMapper.writeValue`将Java对象写入JSON文件。 总结,Java中处理JSON...

    XML_JSON_IO基本操作

    XML(可扩展标记语言)是一种用于存储和传输数据的标准格式,它以结构化的方式组织数据。在提供的代码示例中,创建了一个名为`xmlHandler`的类,该类继承自`DefaultHandler`,这是一个处理XML解析事件的类。`...

    json、xml解析库x2struct-master

    它们能够将XML或JSON格式的字符串转换为结构化的数据对象,这样开发者可以轻松地遍历和访问数据,而无需处理复杂的解析细节。 2. **Writer**: `xml_writer.h` 和 `json_writer.h` 负责将C++的数据结构转换成XML或...

    linux配置文件读写好用的类

    - `fscanf()`:格式化读取,适用于结构化的配置文件,例如: ```c fscanf(fp, "%s %d", key, &value); ``` 3. **处理数据**:根据配置文件的格式,对读取到的数据进行解析,例如,如果配置文件是INI格式,可以...

    PB文件读写函数

    它提供了语言中立、平台中立的接口,使得开发者可以轻松地在各种数据格式之间进行转换,例如JSON或XML。PB文件通常以二进制格式存储,因此它们比文本格式更小、更快,尤其适用于网络通信和存储。 在描述中提到的"PB...

    asp.net读写ini文件最简单的代码

    INI文件是早期操作系统中常用的配置文件格式,尽管现在XML或JSON更受欢迎,但在某些场景下,仍然有使用INI文件的需求。 标题中的“asp.net读写ini文件最简单的代码”指的是使用ASP.NET编写代码来读取和写入INI文件...

    配置文件的读写代码实现.rar

    本压缩包“配置文件的读写代码实现.rar”提供了一种在HP-UX操作系统下编译通过的格式化配置文件的读写方法,这对于开发人员来说是非常有价值的资源,因为理解和掌握配置文件的读写是构建可扩展和灵活软件的关键技能...

    INI文件读写操作类

    Ini文件是一种简单的文本配置文件格式,常用于...然而,需要注意的是,对于大型项目或跨平台应用,可能需要考虑使用更为现代和标准的配置文件格式,如JSON或XML,因为它们提供了更丰富的数据结构和更好的跨平台支持。

    INI文件读写类

    INI文件是一种简单的文本配置文件格式,广泛用于存储应用...然而,对于大型或安全性要求较高的应用,可能会选择更安全、更复杂的配置文件格式,如XML或JSON,因为它们提供了更强的数据类型支持和更好的错误处理机制。

    Ini文件的读写

    Ini文件是一种在Windows操作系统中广泛使用的配置文件格式,主要...此外,随着技术的发展,许多现代应用程序开始转向更强大的配置文件格式,如JSON或XML,但Ini文件因其简单易用的特性,在某些场合仍然有着广泛的应用。

    net.sf.json.JSONObject Jar包下载

    无论你需要解析接收到的JSON字符串,还是需要将Java对象转化为JSON格式发送出去,"net.sf.json.JSONObject"都提供了强大的工具。 为了使用这个Jar包,你需要将其添加到项目的类路径中。如果你使用的是Maven,可以在...

    Labview将数组写入(读取)配置文件

    本程序可能使用了XML、JSON或自定义的二进制格式,这些格式都可以有效地存储和读取数组数据。 读取配置文件的过程通常包括以下步骤: 1. **打开文件**:使用Labview的文件I/O函数,如“打开文件”VI,指定文件路径...

    javascript读写xml

    XML(eXtensible Markup Language)则是一种用于存储和传输结构化数据的标准格式。在JavaScript中处理XML,可以实现动态数据交换,比如从服务器获取数据或者将用户输入的数据发送到服务器。下面将详细探讨JavaScript...

    读取文件数据并解析成bean实体类

    4. **对象映射(对象-XML/JSON映射)**:这是一种将数据结构(如Bean)与数据格式(如XML或JSON)之间进行转换的技术。比如,使用Jackson库的`ObjectMapper`可以方便地将JSON字符串解析成Bean,反之亦然。 5. **...

    下载json,ajax传送对象的好帮手

    3. **服务器处理请求**:服务器接收请求,处理业务逻辑,并将结果封装成JSON格式。 4. **返回JSON数据**:服务器将JSON字符串作为HTTP响应的body返回给客户端。 5. **解析JSON**:前端接收到响应后,使用JSON.parse...

    C#封装的Utilities基础类库.rar

    这个类库涵盖了多个核心功能模块,包括JSON和XML操作、字符串处理、验证码生成、压缩与解压缩、文件操作以及各种验证功能。以下是对这些功能的详细解释: 1. **JSON操作**:JSON(JavaScript Object Notation)是一...

    json需要用到的包

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛应用于Web服务和应用程序之间的数据传输,因为它易于读写,且人类可读性极强。在Java开发中,处理JSON通常需要依赖一些库来帮助解析和生成JSON...

Global site tag (gtag.js) - Google Analytics