java - 我的 bash 脚本锁定文件,而 Java 需要读取它

标签 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"异常(exception)!

文件被锁定了吗?!我该如何解决这个问题?

最佳答案

好的。显然我只需要以某种方式确保 bash 完成,然后运行 ​​Java 应用程序。或者一旦整个 bash 完成,只需重命名即可!这些技巧应该可以解决问题

关于java - 我的 bash 脚本锁定文件,而 Java 需要读取它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51620895/

相关文章:

linux - 检查文件是否包含特定字符串以及是否已注释

java - Java 数组质因数分解

linux - 使用awk从文本文件中提取数据

java - 将命名空间设置为 @XmlRootElement 时解码失败且没有错误

c - 树莓派无法通过串口通信向PC发送数据

linux - 为 MPI 集群编辑/etc/hosts

regex - 使用 grep 在源代码中查找字符串中的所有查询

bash - 同步两个音频文件

java - 如何从字符串中删除一个字符?

java - 如何使用 Spring MVC 在 JSP 中包含 js 和 CSS