linux获取文件java代码

在Windows系统中使用FileInputStream和FileOutputStream进行文件操作没有问题,但在Linux环境中会遇到找不到文件的问题。通过使用ClassPathResource和FileSystemResource,可以确保在Windows和Linux上都能正确读写文件。在执行完代码后,生成的临时文件不再需要,可以直接删除。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

linux和window读取文件遇到的坑

最开始读写文件我都是用的FileInputStream、FileOutputStream在window系统测试完全没问题,jar包上传到linux直接说找不到文件,后面用ClassPathResource、FileSystemResource读写文件保证两个系统都适用。
代码里那种写方式会在项目根路径生成相同名称的文件,这个文件在代码执行结束后就没用了,直接删除。废话不多说,直接上代码,下面是正确无误的代码:

package com.common.util;

import lombok.extern.slf4j.Slf4j;
import org.jasypt.encryption.pbe.StandardPBEStringEncryptor;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.FileSystemResource;
import org.springframework.core.io.WritableResource;
import org.yaml.snakeyaml.Yaml;

import java.io.*;
import java.util.Map;

@Slf4j
public class YmlUtil {
   

    /**
     * 解析yml配置文件:读写操作
     */
    public static void resolveDefaultZone() {
   
        //加解密工具类
        StandardPBEStringEncryptor stringEncryptor = new StandardPBEStringEncryptor(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值