java - 如何导出带有批处理文件的java项目

标签 java string batch-file jar inputstream

    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;



public class Main {

    public static void main(String[] args) throws Exception {

        InputStream PROGRAM = Main.class.getClassLoader().getResourceAsStream("FILES/PROGRAM.bat"); 
        converter(PROGRAM);
        String s = "" + PROGRAM;
        System.out.println(s);
        Runtime.getRuntime().exec("cmd.exe /c start "+s);
    }

    static String converter(InputStream a)throws Exception{
        InputStream in = a;
        InputStreamReader is = new InputStreamReader(in);
        StringBuilder sb=new StringBuilder();
        BufferedReader br = new BufferedReader(is);
        String read = br.readLine();

        while(read != null) {
            sb.append(read);
            read =br.readLine();
            }

        return sb.toString();
    }



}

我想要做的是将这个项目导出到 Jar 文件中,并且我需要像这样导入这个批处理文件: InputStream PROGRAM = Main.class.getClassLoader().getResourceAsStream("FILES/PROGRAM.bat"); 因此它可以在任何其他计算机上运行。

最佳答案

使用maven构建工具并将你的bat放在Resources下。然后您可以将 inputream 视为

InputStream PROGRAM = Main.class.getResourceAsStream("//PROGRAM.bat");

当您使用 maven 构建工具进行构建时,bat 文件将位于 jar 内,并且可以供您的 Main 类访问。

关于java - 如何导出带有批处理文件的java项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18671111/

相关文章:

java - 添加到双向链表的末尾

testing - 用于在迁移时测试站点外观的浏览器插件

windows - 从 IPConfig 获取 IP 地址,稍后在代码中使用,或保存

Java 到 JSON 转换 : JSTL vs Methodical (Jackson/Gson)

Java - 具有多级类的列表集合 - 仅循环最后一个成员 - .stream() .forEach() .for()

java - 加载作业尝试使用 java 将 json 插入 BigQuery 表时解析错误

c++ - 如何连接CComBSTR和字符串?

python - 如何打印由python中的管道符号分隔的字符串列表中的第一个元素

arrays - 为什么文本行数组看起来有一个额外的容器级别?

c# - 窗口窗体执行批处理文件