3

我对 ProcessBuilder 有点熟悉,并且会处理流。现在我遇到了一个问题,即我正在自动化的过程从我需要提供的两个文件中读取一些信息。目前,我正在编写文件并通过 ProcessBuilder 提供程序的路径。由于我预计在不久的将来会有数百万次运行,我想通过在内存中完成所有工作而不是读写文件来加快速度。

基本上,我需要做的是从自动化程序中捕获文件打开请求,并从字符串流或类似的东西中提供预期的数据。当然,如果我能以某种方式告诉 ProcessBuilder,我给出的文件路径将被更好的流替换。

我怎样才能做到这一点?

4

1 回答 1

0

Process 没有接口允许您像这样拦截和修改 I/O 访问。除非您拥有要自动执行的程序的源代码,否则您很可能必须在操作系统级别执行此操作。

它可以通过创建一个ram disk来实现。例如,如果你在 Linux 上,它并不复杂。看看这个链接:Linux RAM Disk: Creating A Filesystem In RAM

我想另一种选择是让您的 Java 程序创建一个命名管道并将它们作为路径传递给自动化程序。

于 2011-01-30T08:47:59.003 回答