• java.util.Properties类常用的方法


    目录

    目标

    方法集锦

    遍历Properties对象属性

    根据键获取属性值(如果没有该键则返回默认值)

    将Properties的属性写入文件

    读取文件内容返回Properties对象

    读取XML文件的所有属性返回Properties对象

    将Properties的属性写入XML文件


    目标

    了解java.io.Properties类常用的方法。

    方法集锦

    使用到的常量

    1. static Properties properties = new Properties();
    2. static {
    3. properties.put("name", "张三");
    4. properties.put("age", "11");
    5. properties.put("sex", "男");
    6. }
    7. public static final String MY_PROJECT_FILE = "a/a.properties";
    8. public static final String MY_PROJECT_FILE_XML = "a/a.xml";

    遍历Properties对象属性

    1. public void traversal() {
    2. //获取属性名称
    3. Set<String> set = properties.stringPropertyNames();
    4. System.out.println(set);
    5. //根据属性名称遍历属性值
    6. for (String s : set) {
    7. System.out.println(properties.getProperty(s));
    8. }
    9. }

    根据键获取属性值(如果没有该键则返回默认值)

    1. public void getDefaultValue() {
    2. //获取属性名称
    3. Set<String> set = properties.stringPropertyNames();
    4. System.out.println(set);
    5. System.out.println(properties.getProperty("id", "123456"));
    6. }

    将Properties的属性写入文件

    1. /**
    2. * 将Properties的属性写入文件
    3. * 这里用到了输出流
    4. */
    5. public void writeFileFromProperties() {
    6. PrintStream printStream = null;
    7. PrintWriter printWriter = null;
    8. FileOutputStream fileOutputStream = null;
    9. try {
    10. //方法一:
    11. printStream = new PrintStream(MY_PROJECT_FILE);
    12. properties.list(printStream);
    13. //方法二:
    14. printWriter = new PrintWriter(MY_PROJECT_FILE);
    15. properties.list(printWriter);
    16. //方法三:
    17. fileOutputStream = new FileOutputStream(MY_PROJECT_FILE);
    18. properties.store(fileOutputStream, "方法三");
    19. } catch (FileNotFoundException e) {
    20. e.printStackTrace();
    21. } catch (IOException e) {
    22. e.printStackTrace();
    23. } finally {
    24. if (printStream != null) {
    25. printStream.close();
    26. }
    27. if (printWriter != null) {
    28. printWriter.close();
    29. }
    30. if (fileOutputStream != null) {
    31. try {
    32. fileOutputStream.close();
    33. } catch (IOException e) {
    34. e.printStackTrace();
    35. }
    36. }
    37. }
    38. }

    读取文件内容返回Properties对象

    1. /**
    2. * 读取文件内容返回Properties对象
    3. * 这里用到了输入流
    4. */
    5. public void readFileToProperties() {
    6. FileReader fileReader = null;
    7. try {
    8. fileReader = new FileReader(MY_PROJECT_FILE);
    9. Properties p = new Properties();
    10. p.load(fileReader);
    11. System.out.println(p);
    12. } catch (FileNotFoundException e) {
    13. e.printStackTrace();
    14. } catch (IOException e) {
    15. e.printStackTrace();
    16. } finally {
    17. try {
    18. if (fileReader != null) {
    19. fileReader.close();
    20. }
    21. } catch (IOException e) {
    22. e.printStackTrace();
    23. }
    24. }
    25. }

    读取XML文件的所有属性返回Properties对象

    1. /**
    2. * 读取xml文件的所有属性返回Properties对象
    3. * 这里用到了输入流
    4. */
    5. public void readFileToXML() {
    6. FileInputStream fis = null;
    7. try {
    8. fis = new FileInputStream(MY_PROJECT_FILE_XML);
    9. Properties p = new Properties();
    10. p.loadFromXML(fis);
    11. System.out.println(p);
    12. } catch (FileNotFoundException e) {
    13. e.printStackTrace();
    14. } catch (IOException e) {
    15. e.printStackTrace();
    16. } finally {
    17. try {
    18. if (fis != null) {
    19. fis.close();
    20. }
    21. } catch (IOException e) {
    22. e.printStackTrace();
    23. }
    24. }
    25. }

    将Properties的属性写入XML文件

    1. /**
    2. * 将Properties的属性写入XML文件
    3. * 这里用到了输出流
    4. */
    5. public void writeXMLFromProperties() {
    6. FileOutputStream fileOutputStream = null;
    7. try {
    8. //写入xml内容
    9. fileOutputStream = new FileOutputStream(MY_PROJECT_FILE_XML);
    10. properties.storeToXML(fileOutputStream, "写入xml内容", "UTF-8");
    11. } catch (FileNotFoundException e) {
    12. e.printStackTrace();
    13. } catch (IOException e) {
    14. e.printStackTrace();
    15. } finally {
    16. if (fileOutputStream != null) {
    17. try {
    18. fileOutputStream.close();
    19. } catch (IOException e) {
    20. e.printStackTrace();
    21. }
    22. }
    23. }
    24. }
  • 相关阅读:
    登上抖音同城热搜榜:如何让你的短视频成为焦点?
    Android学习笔记 50. Android 多媒体技术——SoundPool播放音效
    Python:整数四则运算及格式化输出
    2022暑假xcpc训练数据结构专题-线段树合并
    计算机单位、变量、数据类型、类型转换、转义字符
    RabbitMQ基础概念-02
    多线程基础部分Part2
    『网易实习』周记(三)
    前端-(1)
    HTML+CSS+Jquery实现北大官网所有效果
  • 原文地址:https://blog.csdn.net/qq_39706570/article/details/125419239