Java 特殊文件

特殊文件:属性文件.properties      

特点: 1.都只能是键值对  2.键不能重复 3.文件后缀都是以properties结尾

 

 public static void main(String[] args) throws Exception {
        //创建一个properties对象出来,键值对集合,空容器
        Properties properties=new Properties();
        System.out.println(properties);   //打印出来是个空集合
        //开始加载属性中的键值对数据到properties对象中去
        properties.load(new FileReader("java01\\src\\main\\java\\lian02\\users.properties"));
        System.out.println(properties);  //可以将属性文件中的内容读取出来
        //根据键取值
        System.out.println(properties.getProperty("name"));
        System.out.println(properties.getProperty("age"));
        System.out.println(properties.getProperty("sex"));
        //遍历全部键和值
        Set<String> strings = properties.stringPropertyNames();
        for (String string : strings) {
            String property = properties.getProperty(string);
            System.out.println(property);
        }
        //properties是map集合也可以用lambda表达式遍历
        properties.forEach((k,v)->{
            System.out.println(k+"-->"+v);}
        );
    }

 

 

        Properties properties=new Properties();
        properties.setProperty("name","liubei");
        properties.setProperty("age","22");
        properties.setProperty("sex","女");
        properties.store(new FileWriter("java01\\src\\main\\java\\lian02\\users02.properties"),"i saved many users ");

案例   有一个user.txt  文件,查看里面是否有李芳这名同学,并将其年龄改为18岁。

public static void main(String[] args) throws Exception {
        //1.加载属性的键值对文件到属性中来
        Properties properties=new Properties();
        //2.开始加载
        properties.load(new FileReader("java01\\src\\main\\java\\lian02\\user.txt"));
        //3.判断是否包含李芳这个键
        if (properties.contains("李芳")){
            properties.setProperty("李芳","18");
        }
        //4.将properties的键值对数据,重新写入到properties文件中去
        properties.store(new FileWriter("java01\\src\\main\\java\\lian02\\user.txt"),"success");
    }

特殊文件:XML文件

xml(可扩展标记语言)

本质是一种数据格式,可以用来存储复杂的数据结构,和数据关系

 xml文件内容可以直接在浏览器中展示出来

 XML中可以写一个CDATA的数据区, 快捷键输入CD +回车  

 如何使用程序读取XML中的数据(解析xml文件)

 学会使用框架

 

 public static void main(String[] args) throws Exception {
        //创建Dom4j框架提供的解析器对象
        SAXReader saxReader = new SAXReader();
        //2.使用sexReader对象把需要解析的xml文件,解析成Document对象
        Document document = saxReader.read("java01\\src\\main\\java\\lian02\\user.xml");
        //3.从文档对象中解析xml文件的全部数据
        Element rootElement = document.getRootElement();  //获取根元素
        System.out.println(rootElement.getName());   //得到根元素名称
        
    }

 

 public static void main(String[] args) throws Exception {
        //创建Dom4j框架提供的解析器对象
        SAXReader saxReader = new SAXReader();
        //2.使用sexReader对象把需要解析的xml文件,解析成Document对象
        Document document = saxReader.read("java01\\src\\main\\java\\lian02\\user.xml");
        //3.从文档对象中解析xml文件的全部数据
        Element rootElement = document.getRootElement();  //获取根元素
        System.out.println(rootElement.getName());   //得到根元素名称
        //4.获取根元素下的全部一级子元素
        List<Element> elements = rootElement.elements();
        for (Element element : elements) {
            System.out.println(element.getName());
        }
        //或者获取根元素下,指定的一级子元素
        List<Element> elementss = rootElement.elements("user");
        for (Element element : elementss) {
            System.out.println(element.getName());
        }
        //或者获取当前元素下,某个子元素
        //如果有很多子元素user默认获取第一个
        Element user = rootElement.element("user");
        System.out.println(user.elementText("name"));
        //获取元素属性值信息
        System.out.println(user.attributeValue("age"));
        //获取所有的属性,返回一个集合
        List<Attribute> attributes = user.attributes();
        for (Attribute attribute : attributes) {
            System.out.println(attribute.getName()+attribute.getValue());
        }
        //如何获取全部的文本内容,获取当前元素下的子元素文本值
        System.out.println(user.elementText("name"));
        System.out.println(user.elementText("地址"));
        System.out.println(user.elementText("age"));

        Element data = user.element("data");
        System.out.println(data.getText());
        System.out.println(data.getTextTrim()); //取出文本后,去除前后空格
        

    }

了解  如何使用程序把数据写到xml文件中去

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值