把java工程打成jar无法获取文件路径进行执行与拷贝临时文件进行处理

把java工程打成jar无法获取文件路径进行执行与拷贝临时文件进行处理

import java.io.InputStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.StandardCopyOption;

public class Main {
    public static void main(String[] args) {
        // 获取资源文件的路径
        String resourcePath = getResourcePath1("your-resource-file.txt");
        
        // 执行你的代码
        // ...
    }
    //方法1,此方法是指定文件路径进行拷贝
    
    private static String getResourcePath1(String fileName) {
        try {
            // 指定临时文件的路径
            Path tempFilePath = Path.get("path/to/temp/file.txt");
            
            // 从JAR文件中获取资源文件的输入流
            InputStream inputStream = Main.class.getResourceAsStream("/" + fileName);
            
            // 将资源文件复制到指定的临时文件
            Files.copy(inputStream, tempFilePath, StandardCopyOption.REPLACE_EXISTING);
            
            // 返回临时文件的路径
            return tempFilePath.toAbsolutePath().toString();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
    
    //方法2,此方法是指定文件名称和格式在临时路径生成文件进行拷贝
    
    private static String getResourcePath2(String fileName) {
        try {
            // 创建临时文件,可以指定两个参数一个是(prefix前缀名称和suffix后缀格式)
            
            Path tempFile = Files.createTempFile("test文件", ".txt");
            
            // 从JAR文件中获取资源文件的输入流
            InputStream inputStream = Main.class.getResourceAsStream("/" + fileName);
            
            // 将资源文件复制到临时文件
            Files.copy(inputStream, tempFile, StandardCopyOption.REPLACE_EXISTING);
            
            // 返回临时文件的路径
            return tempFile.toAbsolutePath().toString();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容