Java基础进阶IO流-IO+Properties的联合应用

简介: Java基础进阶IO流-IO+Properties的联合应用

IO+Properties的联合应用。

非常好的一个设计理念:

以后经常改变的数据,可以单独写到一个文件中,使用程序动态读取。

将来只需要修改这个文件的内容,java代码不需要改动,不需要重新

编译,服务器也不需要重启。就可以拿到动态的信息。


类似于以上机制的这种文件被称为配置文件。

并且当配置文件中的内容格式是:


key1=value
key2=value


的时候,我们把这种配置文件叫做属性配置文件。

java规范中有要求:属性配置文件建议以.properties结尾,但这不是必须的。

这种以.properties结尾的文件在java中被称为:属性配置文件。

其中Properties是专门存放属性配置文件内容的一个类。


示例代码:

public class IoPropertiesTest01 {
    public static void main(String[] args) {
/*
        Properties是一个Map集合,key和value都是String类型。
        想将userinfo文件中的数据加载到Properties对象当中。
         */
        //读取磁盘文件是输入
        FileInputStream fis = null;
        try {
            fis = new FileInputStream("IO\\userinfo.properties");
            //创建Properties集合对象,此集合里面只能存储String类型的数据
            Properties pro = new Properties();
            //把数据通过流传输到集合中// 调用Properties对象的load方法将文件中的数据加载到Map集合中。
            pro.load(fis);// 文件中的数据顺着管道加载到Map集合中,其中等号=左边做key,右边做value
            //获取值输出流 // 通过key来获取value
            String username = pro.getProperty("username");
            System.out.println(username);
            String password = pro.getProperty("password");
            System.out.println(password);
            String data = pro.getProperty("data");
            System.out.println(data);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if(fis != null){
                try {
                    fis.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}


0a2653c851af460fa595bd959398a8f1.png


运行结果:


2d65d23f6d4748949b924e4057485923.png

目录
打赏
0
0
0
0
4
分享
相关文章
Java也能快速搭建AI应用?一文带你玩转Spring AI可落地性
Java语言凭借其成熟的生态与解决方案,特别是通过 Spring AI 框架,正迅速成为 AI 应用开发的新选择。本文将探讨如何利用 Spring AI Alibaba 构建在线聊天 AI 应用,并实现对其性能的全面可观测性。
Java 也能快速搭建 AI 应用?一文带你玩转 Spring AI 可观测性
Java 也能快速搭建 AI 应用?一文带你玩转 Spring AI 可观测性
CRaC技术助力ACS上的Java应用启动加速
容器计算服务借助ACS的柔性算力特性并搭配CRaC技术极致地提升Java类应用的启动速度。
Java 也能快速搭建 AI 应用?一文带你玩转 Spring AI 可观测性
Java 也能快速搭建 AI 应用?一文带你玩转 Spring AI 可观测性
Java中的this关键字详解:深入理解与应用
本文深入解析了Java中`this`关键字的多种用法
239 9
【潜意识Java】javaee中的SpringBoot在Java 开发中的应用与详细分析
本文介绍了 Spring Boot 的核心概念和使用场景,并通过一个实战项目演示了如何构建一个简单的 RESTful API。
58 5
【潜意识Java】了解并详细分析Java与AIGC的结合应用和使用方式
本文介绍了如何将Java与AIGC(人工智能生成内容)技术结合,实现智能文本生成。
242 5
【潜意识Java】深入理解MyBatis,从基础到高级的深度细节应用
本文详细介绍了MyBatis,一个轻量级的Java持久化框架。内容涵盖MyBatis的基本概念、配置与环境搭建、基础操作(如创建实体类、Mapper接口及映射文件)以及CRUD操作的实现。此外,还深入探讨了高级特性,包括动态SQL和缓存机制。通过代码示例,帮助开发者更好地掌握MyBatis的使用技巧,提升数据库操作效率。总结部分强调了MyBatis的优势及其在实际开发中的应用价值。
43 1
|
3月前
|
Java CAS原理和应用场景大揭秘:你掌握了吗?
CAS(Compare and Swap)是一种乐观锁机制,通过硬件指令实现原子操作,确保多线程环境下对共享变量的安全访问。它避免了传统互斥锁的性能开销和线程阻塞问题。CAS操作包含三个步骤:获取期望值、比较当前值与期望值是否相等、若相等则更新为新值。CAS广泛应用于高并发场景,如数据库事务、分布式锁、无锁数据结构等,但需注意ABA问题。Java中常用`java.util.concurrent.atomic`包下的类支持CAS操作。
111 2
Java线程管理:守护线程与用户线程的区分与应用
在Java多线程编程中,线程可以分为守护线程(Daemon Thread)和用户线程(User Thread)。这两种线程在行为和用途上有着明显的区别,了解它们的差异对于编写高效、稳定的并发程序至关重要。
77 2
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等