我在 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"
异常(exception)!
文件被锁定了吗?!我该如何解决这个问题?
最佳答案
好的。显然我只需要以某种方式确保 bash 完成,然后运行 Java 应用程序。或者一旦整个 bash 完成,只需重命名即可!这些技巧应该可以解决问题
关于java - 我的 bash 脚本锁定文件,而 Java 需要读取它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51620895/