Zastanawiam się, czy istnieje prosty sposób na zakończenie pliku w Groovy? Wiem, jak czytać plik, ale jak odczytać plik, a następnie poczekać na dodanie kolejnych linii, przeczytać je, poczekać, itd ...Zgraj plik w Groovy
Mam to, co jestem pewien, że to naprawdę głupie rozwiązanie:
def lNum = 0
def num= 0
def numLines = 0
def myFile = new File("foo.txt")
def origNumLines = myFile.eachLine { num++ }
def precIndex = origNumLines
while (true) {
num = 0
lNum = 0
numLines = myFile.eachLine { num++ }
if (numLines > origNumLines) {
myFile.eachLine({ line ->
if (lNum > precIndex) {
println line
}
lNum++
})
}
precIndex = numLines
Thread.sleep(5000)
}
Zauważ, że nie jestem naprawdę zainteresowany wywoływaniem polecenia Unix "tail". Chyba że jest to jedyne rozwiązanie.
http://stackoverflow.com/questions/557844/java-io-implementation-of-unix-linux-tail-f –