我在Linux (CentOS)中有一个bash脚本,可以将输出重定向到一个文件。它需要几分钟才能运行:
./myBashScript.sh >> file.csv
我有一个java应用程序,它尝试对文件进行read (只读)以便进一步处理:
File file = new File("file.csv");
Scanner input = new Scanner(file);
while (input.hasNextLine()) {
String line = input.nextLine();
// do something...
}
这些进程都在Crontab
上。它工作得很好,但是很明显,每当bash脚本将输出重定向到文件时,Java应用程序就无法读取它。日志显示"File not found"
异常!
文件是否已锁定?!我如何解决这个问题?
发布于 2018-08-01 03:56:21
好的。显然,我只需要以某种方式确保bash完成,然后运行Java应用程序。或者,一旦整个bash完成,就将其重命名!这些技巧应该可以解决问题。
https://stackoverflow.com/questions/51620895
复制相似问题