2016-06-13 25 views
0

Es scheint, groovy hat einen schönen Verschluss, die Java io Dateiobjekt abarbeitet die Zeilen aus einer Datendatei (zB Tabula delmited Text zum Beispiel) zu lesen ..Wie benutzt man die 'eachLine' Schließung von einem BufferedReader?

def inputFile = new File('me/documents/100reasonsIloveJenniferLawerence.txt'); 
inputFile.eachLine { rawLine -> 

def line = rawLine.split('\t') 

Aber die Datei angenommen ist ‚UTF- 16LE‘codiert und die Datei-Konstruktor wird für die Codierung nicht zulassen, dass festgelegt werden und so muss ich wie so verwenden BufferedReader ...

BufferedReader reader = new BufferedReader(
    new InputStreamReader(new FileInputStream('me/documents/100reasonsIloveJenniferLawerence.txt'), "UTF-16LE")); 

Kann ich noch eachLine verwenden, um mit diesem BufferedReader?

Antwort

2

Ja.

Ich nehme an, du hast es nicht versucht zu versuchen?

Aber

reader.eachLine { line -> 
    println line 
} 

wird funktionieren

Oder Sie können das alles überspringen, und übergeben Sie einfach die charset zu eachLine:

inputfile.eachLine('UTF-16LE') { line ->