通过这个链接“将Java Process/ProcessBuilder的OutputStream作为管道写入”,并进行研究,我没有找到一种方法来指定从getOutputStream()写入流程输出的路径。
BufferedReader br = new BufferedReader(new FileReader(new File("commands.txt")));
String[] input = br.readLine().split(" ");
String cmd = input[0] + " " + input[1] + " " + input[3];
System.out.println(cmd);
Process process = Runtime.getRuntime().exec(new String[]{"bash","-c", cmd});
BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream()));
OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(input[3]));
byte[] buf = new byte[1024];
int len;
while ( (len = in.read()) > 0) {
// out.write();
}
在代码中,exec运行一个进程,将两个文件的结果连接起来,现在我想将结果保存在一个新文件中。但我找不到原因,因为进程中的getOutPutStream对象只有一个以int[]为参数的构造函数write方法。感谢您提前提供的任何帮助。
我认为您在这个场景中混淆了InputStream
和OutputStream
。将它们视为代码的输入/输出。根据我的理解,你想把读取器中的
读入
并输出到输出
。我不明白为什么需要使用进程的
getOutputStream
。
自Java 9以来,有一个非常简单的解决方案,即
Reader
的transferTo
方法。实际上,您可以在过程
初始化后用以下内容替换所有内容:
process.getInputStream(). transferTo(新的FileOutputStream(输入[3]))
我有一个CSV文件,我正在尝试导入MongoDB数据库中的CSV文件。不幸的是,这种体验并没有像我希望的那样工作。CSV文件的内容不相关,因为当我使用MongoDB Compass手动导入它时,没有问题,它按我想要的方式出现。因此,如果可能的话,我试图使用Java和Spring Boot将其从本地文件夹保存到MongoDB,但我找不到任何关于如何这样做的好建议或解释。 我用的是Spring Boo
本文向大家介绍Java将对象保存到文件中/从文件中读取对象的方法,包括了Java将对象保存到文件中/从文件中读取对象的方法的使用技巧和注意事项,需要的朋友参考一下 1.保存对象到文件中 Java语言只能将实现了Serializable接口的类的对象保存到文件中,利用如下方法即可: 参数obj一定要实现Serializable接口,否则会抛出java.io.NotSerializableExcept
问题内容: 是否有一组命令行选项可以说服gcc从自包含的源文件生成平面二进制文件?例如,假设foo.c的内容是 没有外部引用,没有要导出到链接器的内容。我想获得一个仅带此功能机器说明的小文件,而无需任何其他装饰。有点像(DOS).COM文件,但32位保护模式除外。 问题答案: 试试看: 您可以使用来确保它是正确的: 并与二进制文件进行比较:
因为我是在中配置序列化程序的,所以我不能在构造函数参数中传递。
我正在建立一个学生时间表生成器,我需要一种方法来产生一个以上的解决方案。有什么方法可以节省可行的分数或xhard/ysoft的分数吗? 我需要能够输出多个潜在的时间表,这样学生将有一个时间表的选择,而不是另一个,如果出于任何原因,他们不想要“最好的”时间表(也许他们不喜欢其中一个教授,也许他们不想要上午8点的课,无论什么) 我最初的想法是使用bestSolutionChanged事件侦听器省去所有
问题内容: 我有一个文件,称之为。 有没有一种方法可以“读取”其中的内容,并获取其中的所有类的列表作为完整的类名,包括其包,例如? 我在考虑,但是似乎找不到用于检索整个类集的方法。 问题答案: 您可以将dexlib2库用作独立库(在maven中可用),以读取dex文件并获取类列表。 请注意,类名将采用“ Ljava / lang / String;”的形式,这就是它们如何存储在dex文件(和Jav