首页 > 其他分享 >jar包获取配置文件路径

jar包获取配置文件路径

时间:2024-06-18 12:32:52浏览次数:26  
标签:ABI 配置文件 abi 路径 jar File new 临时文件

 

路径如上图

目前是想要从MaterialKcController获取到config-example.toml和abi里的文件

但是jar包获取路径用相对不行,所以使用IO流来获取。

主要是使用输入流来创建临时的文件,然后将文件里的内容全部输入到临时文件中,再将临时文件的路径输出并获取到

代码如下:

// 获取 ABI 文件的输入流
        InputStream abiInputStream = getClass().getClassLoader().getResourceAsStream("/abi/yjwz.abi");

// 创建一个临时目录,用于存放临时的 ABI 文件
        File tempAbiFolder = Files.createTempDirectory("tempAbiFolder", (FileAttribute<?>[])new FileAttribute[0]).toFile();

// 在临时目录中创建一个临时的 ABI 文件
        File tempAbiFile = new File(tempAbiFolder, "yjwz.abi");

// 创建输出流,用于将 ABI 文件内容写入临时文件
        OutputStream tempOutput = new FileOutputStream(tempAbiFile);

// 缓冲区,用于存储从输入流读取的数据
        byte[] buffer = new byte[10240];
        int lengthRead;

// 读取 ABI 文件内容并写入临时文件
        while ((lengthRead = abiInputStream.read(buffer)) > 0)
            tempOutput.write(buffer, 0, lengthRead);

// 刷新输出流并关闭
        tempOutput.flush();
        tempOutput.close();

// 获取临时文件的绝对路径
        String abiFilePath = tempAbiFile.getAbsolutePath();

// 获取配置文件的输入流
        InputStream configInput = getClass().getClassLoader().getResourceAsStream("config-example.toml");

// 创建一个临时文件,用于存放配置文件
        File tempConfigFile = File.createTempFile("tempConfig", ".toml");

// 创建输出流,用于将配置文件内容写入临时文件
        OutputStream tempOutput1 = new FileOutputStream(tempConfigFile);

// 缓冲区,用于存储从输入流读取的数据
        byte[] buffer1 = new byte[1024];
        int lengthRead1;

// 读取配置文件内容并写入临时文件
        while ((lengthRead1 = configInput.read(buffer1)) > 0)
            tempOutput1.write(buffer1, 0, lengthRead1);

// 刷新输出流并关闭
        tempOutput1.flush();
        tempOutput1.close();
其中abiFilePath即为abi文件的路径
tempConfigFile.getAbsolutePath()为config-example.toml的路径

标签:ABI,配置文件,abi,路径,jar,File,new,临时文件
From: https://blog.csdn.net/weixin_64288302/article/details/139769372

相关文章

  • springboot引入第三方jar包本地lib并打包
    springboot引入第三方jar包本地lib并打包亲测可用一、在项目根目录创建lib目录并放入第三方lib包--project----lib(放在这儿)----src----target二、pom中引入第三方lib<!--自定义引入jar--><dependency><groupId>commons-io</groupId><artifac......
  • Docker+Jenkins+Pipline实现Vue项目input选择不同差异性config文件并修改文件内容后打
    场景Docker+Jenkins+Pipline实现SpringBoot项目input选择不同差异性yml文件打包、执行sh打包压缩包、使用archiveArtifacts下载制品(jar包、压缩包):https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/139748758DockerCompose+Jenkins+Pipeline流水线打包Vue项目(解压......
  • shell for循环时输出变量和变量值 变量的变量 判断路径是否存在
    前言全局说明shellfor循环时输出变量和变量值变量的变量一、说明二、打印变量和变量的内容2.1方式一用${!test}}文件名:t1.shtest_1="/home"test_2="/home/11"forpin"test_1""test_2"doecho"$p=${!p}"done执行结果:2.2方式二用evalte......
  • 【杂记】配置文件
    properties配置文件application.properties是springboot项目默认的配置文件,所以springboot程序在启动时会默认读取application.properties配置文件,而我们可以使用一个现成的注解:@Value,获取配置文件中的数据。@Value注解通常用于外部配置的属性注入,具体用法为:@Value("${配置文......
  • maven 加载不到 mybatis xml 配置文件
     <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin>......
  • Docker+Jenkins+Pipline实现SpringBoot项目input选择不同差异性yml文件打包、执行sh打
    场景Docker+Jenkins+Pipline如何获取git插件环境变量(提交sha、分支等)以及Jenkinsfile中获取sh执行结果(获取git最近提交信息):https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/139697004在上面的基础上实现了使用Jenkinsfile文件获取git的提交记录以及获取sh的执......
  • JPS(Jump Point Search)跳点搜索路径规划算法回顾
      本篇文章主要回顾一下几年前学的JPS跳点搜索规划算法的相关内容,之前学的时候没有进行概括总结,现在补上  一、A*算法简单回顾–  1、基本介绍和原理  A*(A-Star)算法是一种静态路网中求解最短路径最有效的直接搜索方法,也是解决许多搜索问题的有效算法。......
  • 一主三备配置文件
    一主三备配置文件<?xmlversion="1.0"encoding="UTF-8"?><ROOT><!--openGauss整体信息--><CLUSTER><PARAMname="clusterName"value="Cluster_template"/><PARAMname......
  • Linux上java-jar Spingboot项目
    百度的,后面再补一个Linux文档操作手册,是不是很大胆?准备工作1、首先得有两个软件Xftp(用来上传文件到)和XShell(连接服务器执行命令)2、Linux上有JDK(怎么安装可以转到Linux安装JDK流程)3、项目的JAR包项目jar包导jar<build><plugins><plugin><groupId......
  • 将本地jar引入到java工程中的三种方式
    方式一、IDEA->File->ProjectStructure->Modules->Dependencies->+->JARsorDirectories方式二、如要添加的jar文件较多,可创建目录,例:resources->libs,然后用方式一,选择此目录。方式三、如果项目是maven工程,可以通过修改pom文件,将本地jar引用工程中,如下所示<depende......