配置文件操作

1XML文件

1)使用pull方式解析

//1.创建解析工厂对象
        XmlPullParserFactory xmlFactory = XmlPullParserFactory.newInstance();
        
        //2.获得解析器对象
        XmlPullParser xmlParser = xmlFactory.newPullParser();
        
        //3.指定资源路径
        FileReader fr = new FileReader("F:\\book.xml");
        xmlParser.setInput(fr);
        
        int event = xmlParser.getEventType();
        while(event != END_DOCUMENT){
            switch(event){
                case START_DOCUMENT://文档开始
                    System.out.println("=====开始解析文档======");
                    break;
                case START_TAG://标签开始
                    String tagname = xmlParser.getName();//获得标签名称
                    switch(tagname){
                        case "name":
                            String name = xmlParser.nextText();
                            System.out.println(name);
                            break;
                        case "jiage":
                            String jiage = xmlParser.nextText();
                            System.out.println(jiage);
                            break;
                        case "zz":
                            String zz = xmlParser.nextText();
                            System.out.println(zz);
                            break;
                        case "cb":
                            String cb = xmlParser.nextText();
                            System.out.println(cb);
                            break;
                    }
                    break;
                case END_TAG://标签结束
                    tagname = xmlParser.getName();
                    System.out.println("======文档解析结束=======");
                    break;
            }
            
            event = xmlParser.next();//获取下一个事件
            
        }

1)解析properties

//1.实例化properties对象
        Properties prop = new Properties();
        
        //2.获得属性文件
        FileInputStream fis = new FileInputStream("F:\\stu.properties");
        
        //3.使用属性对象的load()方法获取内容
        prop.load(fis);
        
        //4.根据键获得值
        String name = prop.getProperty("userName");
        System.out.println(name);
        String pwd = prop.getProperty("pwd");
        System.out.println(pwd);
        
        //5.关闭资源
        fis.close();

2)使用pull方式写入

//1.创建解析工厂
        XmlPullParserFactory xmlFactory = XmlPullParserFactory.newInstance();
        
        //2.创建序列化对象
        XmlSerializer xmls = xmlFactory.newSerializer();
        
        //3.指定文件资源
        FileWriter fw = new FileWriter("F:\\stu.xml");
        xmls.setOutput(fw);
        
        xmls.startDocument("utf-8", false);//生成xml文档头信息
        xmls.startTag(null, "student");//student标签开始
        xmls.startTag(null, "id");//id标签开始
        xmls.text("1234");//文本内容
        xmls.endTag(null, "id");//id标签结束
        xmls.endTag(null, "student");//student标签结束
        xmls.endDocument();//文档结束

2json文件

1)使用gson方式解析

//1.实例化解析对象
        JsonParser jp = new JsonParser();
        
        //2.读取要解析的json文件
        FileReader fr = new FileReader("F:\\stu.json");
        
        //3.解析json文件
        JsonObject jo = (JsonObject) jp.parse(fr);
        
        System.out.println("姓名:"+jo.get("name").getAsString());
        System.out.println("年龄:"+jo.get("age").getAsDouble());
        System.out.println("是否有车:"+jo.get("car").getAsBoolean());
        
        //获取数组
        JsonArray jarr = jo.get("hobby").getAsJsonArray();
        for (int i = 0; i < jarr.size(); i++) {
            JsonObject j = (JsonObject)jarr.get(i);
            System.out.println("id:"+j.get("id").getAsString());
        }

2)写入json文件

//1.创建json对象
        JsonObject jo = new JsonObject();
        
        //2.添加键值对
        jo.addProperty("name", "张三");
        jo.addProperty("age", 20);
        jo.addProperty("car", true);
        
        JsonObject hobby1 = new JsonObject();//数组中的第1个元素
        hobby1.addProperty("id", "java");
        
        JsonObject hobby2 = new JsonObject();//数组中的第2个元素
        hobby2.addProperty("id", "php");
        
        JsonArray ja = new JsonArray();//数组对象
        ja.add(hobby1);
        ja.add(hobby2);
        
        jo.add("hobby", ja);//把数组对象添加到json的hobby属性中
        
        //3.保存到json文件
        FileOutputStream fos = new FileOutputStream("F:\\abc.json");
        fos.write(jo.toString().getBytes());
        fos.close();

3properties文件

2)写入properties

//1.创建properties对象
        Properties prop = new Properties();
        
        //2.指定输出文件
        FileOutputStream fos = new FileOutputStream("F:\\stu.properties");
        
        //3.设置要输出的属性
        prop.setProperty("userName", "java456");
        prop.setProperty("pwd", "abc123");
        
        //4.保存文件
        prop.store(fos, "abc");
        
        //5.关闭资源
        fos.close();

猜你喜欢

转载自www.cnblogs.com/YQian/p/10883895.html