我在Linux(CentOS)中有一个bash脚本,可将输出重定向到文件。运行需要几分钟:
./myBashScript.sh >> file.csv
我有一个Java应用程序,尝试读取(仅读取)文件以进行进一步处理:
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"
异常!
文件是否被锁定?!如何解决该问题?
答案 0 :(得分:-3)
好。显然,我只需要确保bash已完成,然后运行Java应用即可。或一旦整个bash完成,就将其重命名!这些技巧可以解决问题