美文网首页
把java工程打成jar无法获取文件路径进行执行与拷贝临时文件进

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

作者: 爱学习的蹭蹭 | 来源:发表于2023-08-27 14:38 被阅读0次

把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();
        }
    }
}

相关文章

网友评论

      本文标题:把java工程打成jar无法获取文件路径进行执行与拷贝临时文件进

      本文链接:https://www.haomeiwen.com/subject/kirwmdtx.html