Try / catch und erneut versuchen ... Die Sperre existiert aus einem bestimmten Grund. Wenn die Datei noch geschrieben wird, möchten Sie sie nicht lesen. Selbst wenn Sie können, gibt es mindestens einen Fall, in dem Ihr Java-Code der Meinung ist, dass er die gesamte Datei gelesen hat, wenn die CSV-Generierung noch nicht abgeschlossen ist.
Tatsächlich ist Ihr Code gefährlich. Die Datei wird wahrscheinlich zwischen zwei Shellbefehlen, die an ihn angehängt werden, geschlossen, sodass der Java-Code die Datei öffnen und für sich selbst sperren kann, während das Shell-Skript ausgeführt wird.
Starten Sie also entweder den Java-Code, sobald die Datei vollständig generiert wurde, oder generieren Sie die Datei unter einem temporären Namen, wenn der Java-Code die Datei überwacht, und benennen Sie ihn anschließend in den erwarteten Namen um.