spring boot 新建文件路径,写入文件内容

 创建文件路径,写入文件内容,如果当前路径已存在,则替换掉之前文件内容

  /**
     * 创建文件路径,写入文件内容
     * dongxinji
     * 2022年9月28日
     *
     * @throws IOException
     */
    private String checkAndCreate(String date) throws IOException {
        log.info(" 创建文件路径,写入文件内容*******" + date);
        String shell = shellInfo(date);
        File file = new File(path + date + fileName);
        if (!file.exists()) {
            String[] strings = {};
            try {
                createShell(path + date + fileName, strings);//生成文件路径
//                writeToFile(file, shellInfo(date));//对应文件写入内容
                writeToFile(file, shell);//对应文件写入内容
            } catch (Exception e) {
                log.error("shell--------------------Exception" + e.getMessage());
                e.printStackTrace();
            }
        } else {
            log.error("shell--------------------File exist");
            writeToFile(file, shell);//写入文件内容

        }
        return date + fileName;
    }

    /**
     * 写入文件
     *
     * @param shell
     * @throws IOException
     */
    public void writeToFile(File f1, String shell) throws IOException {
        OutputStream out = null;
        BufferedWriter bw = null;
        if (f1.exists()) {
            out = new FileOutputStream(f1);
            bw = new BufferedWriter(new OutputStreamWriter(out, "utf-8"));
            bw.write(shell);
            log.info("写入文件内容******" + shell);
            bw.flush();
            bw.close();
            log.info("shell--------------------" + f1 + "文件创建成功");
        } else {
            log.error("shell--------------------文件不存在");
        }
    }

### 如何新建并配置 `application.yml` 文件Spring Boot 中,`application.yml` 是一种 YAML 格式的配置文件,用于定义应用程序的各种属性和行为。以下是关于如何新建文件及其格式和示例的内容。 #### 新建 `application.yml` 文件 要创建一个新的 `application.yml` 文件,请按照以下方法操作: 1. **项目目录位置** 将 `application.yml` 放置在项目的资源目录下,即 `src/main/resources/` 路径中[^2]。这是 Spring Boot 默认查找配置文件的位置。 2. **文件命名** 确保文件名为 `application.yml` 或者其他符合 Spring Boot 命名约定的变体(如 `application-dev.yml`, `application-prod.yml`),以便支持多环境配置[^4]。 3. **编辑器选择** 使用任何文本编辑器或者 IDE(如 IntelliJ IDEA, Eclipse)打开 `src/main/resources/` 目录,并新增一个名为 `application.yml` 的文件。 --- #### `application.yml` 文件的基本格式 YAML 是一种人类可读的数据序列化标准,其语法简单明了。以下是它的基本规则: - 键值对之间使用冒号分隔 (`key: value`)。 - 缩进表示层级关系,必须使用空格而不是制表符 (Tab)。 - 同一层级下的键值对需保持相同的缩进量。 例如: ```yaml server: port: 8080 spring: datasource: url: jdbc:mysql://localhost:3306/mydb username: root password: secret logging: level: root: INFO ``` 上述例子展示了如何配置服务器端口、数据库连接信息以及日志级别[^5]。 --- #### 示例:完整的 `application.yml` 配置 下面是一个典型的 `application.yml` 文件内容,涵盖了多个常见的配置项: ```yaml # Server Configuration server: port: 8081 servlet: context-path: /api # Database Configuration spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/test_db?useSSL=false&serverTimezone=UTC username: admin password: passw0rd jpa: hibernate: ddl-auto: update show-sql: true # Logging Configuration logging: level: org.springframework.web: DEBUG com.example.myapp: TRACE file: name: logs/app.log # Cache Configuration spring.cache.type: redis # Mail Service Configuration spring.mail: host: smtp.gmail.com port: 587 username: your-email@gmail.com password: email-password properties: mail: smtp: auth: true starttls: enable: true ``` 此示例包含了服务器端口、上下文路径、数据库连接、JPA 设置、日志记录、缓存类型以及邮件服务的相关配置[^1]。 --- #### 多环境配置 为了适应不同运行环境的需求,可以通过创建多个配置文件实现多环境支持。例如: - `application.yml`: 定义通用配置。 - `application-dev.yml`: 开发环境专用配置。 - `application-prod.yml`: 生产环境专用配置。 通过设置 `spring.profiles.active` 属性指定当前激活的环境。例如,在开发环境中启动应用时可以添加如下参数: ```bash java -jar my-app.jar --spring.profiles.active=dev ``` 这会加载 `application-dev.yml` 中的特定配置。 --- #### 注意事项 1. **缩进一致性**: YAML 对缩进非常敏感,错误的缩进可能导致解析失败。 2. **字符编码**: 推荐使用 UTF-8 编码保存文件,以避免特殊字符引发问题。 3. **安全性**: 敏感信息(如密码)不应直接写入版本控制系统,建议采用外部化的加密方式存储[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

没毛的刷子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值