我的bash脚本在Java需要读取文件时将其锁定

时间:2018-07-31 19:39:49

标签: java linux bash file io-redirection

我在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"异常!

文件是否被锁定?!如何解决该问题?

1 个答案:

答案 0 :(得分:-3)

好。显然,我只需要确保bash已完成,然后运行Java应用即可。或一旦整个bash完成,就将其重命名!这些技巧可以解决问题