java-forum.org - Java programmieren aus Leidenschaft
Java 6 Einstieg und professioneller Einsatz
Alter Preis: 34,90 EUR
Jetzt: 0,00 EUR

zzgl. Versandkosten

Zurück   java-forum.org - Java programmieren aus Leidenschaft > Blogs > bygones

Bewerten

Groovy mag files

"Groovy mag files" bei Mister Wong speichern "Groovy mag files" bei YiGG.de speichern "Groovy mag files" bei Google speichern "Groovy mag files" bei del.icio.us speichern
Veröffentlicht: 13.07.2009 um 08:11 von bygones

schon immer ueberlegt wie uebel es in Java ist ein einfaches text file einzulesen ?
Java Code: Quelltext in neuem Fenster öffnen
1
2
3
4
5
6
7
8
BufferedReader reader = new BufferedReader(new FileReader(file));
String line;
StringBuilder builder = new StringBuilder();
while ((line = reader.readLine()) != null) {
  builder.append(line).append("\n");
}
reader.close();
System.out.println(builder.toString());
erklaer nun mal einen nicht-javajaner warum man einen solchen Bau braucht um nur den Text einer Datei zu erhalten ?
*urgs*

Groovy ist diesbezueglich geringfuegig intuitiver
Groovy Code: Quelltext in neuem Fenster öffnen
1
 println new File(file).text
noch Fragen ?

oder einfach etwas in eine Datei schreiben
Groovy Code: Quelltext in neuem Fenster öffnen
1
new File(file) << 'new Text'

alle files rekursiv loeschen (unter beachtung dass Dateien und Verzeichnisse drin sind)
Groovy Code: Quelltext in neuem Fenster öffnen
1
2
3
4
5
def delClos = { 
 it.eachDir( delClos );
 it.eachFile { it.delete() }
}
delClos( new File("D:/tmp/test") )
yummi

zeilenweise einlesen ?
Groovy Code: Quelltext in neuem Fenster öffnen
1
2
3
new File(file).eachLine {
   println it
}

und und und... filehandling in Groovy ist um einiges angenehmer und vor allem intuitiver als es in Java je sein wird.

schoen
Kategorie: Kategorielos
Hits 2083 Kommentare 10
« Zurück     Startseite des Blogs     Nächste »
Kommentare 10

Kommentare

  1. Alter Kommentar
    Benutzerbild von thE_29
    Schon mal in C++ eine Datei eingelesen? Auch nicht wirklich kürzer...

    Mir scheint es so, als hätten der/die Groovy Entwickler intern einfach vieles abgekürzt. Da Groovy ja in der JVM ausgeführt wird, würde ich gerne wissen ob er die obigen Zeilen dann in den längeren Java Code umwandelt?
    permalink
    Veröffentlicht: 05.08.2009 um 13:58 von thE_29 thE_29 ist offline
  2. Alter Kommentar
    Benutzerbild von bygones
    mag sein dass c++ auch so kurz ist - freut mich fuer c++

    und nein groovy geht nicht den weg:

    groovy -> java -> bytecode

    sondern

    grooyv -> bytcode

    dass der bytcode moeglicherweise dann "nahezu" identisch ist zum java code ist doch vollends schnuppe...

    als Verwender bzw Schreiber habe ich a) massen an code b) massen an zeit gespart und c) eine intuitiven und verstaendlicheren Ansatz geschaffen - mehr interessiert nicht
    permalink
    Veröffentlicht: 19.08.2009 um 07:54 von bygones bygones ist offline
  3. Alter Kommentar
    Benutzerbild von thE_29
    Naja, man könnte sich aber ein Framework basteln was das auch abnimmt und somit die Zeilen kürzen.. (braucht man aber nicht, weil es ja Groovy gibt ).

    Was kommt bei Groovy überhaupt am Ende raus? Auch ein .jar/.class File oder was anderes?
    permalink
    Veröffentlicht: 19.08.2009 um 07:59 von thE_29 thE_29 ist offline
  4. Alter Kommentar
    Benutzerbild von bygones
    naja mit einem reinen JavaFramework kommt man halt auch an seine Grenzen, die Groovy schon laengst ueberschritten hat
    Groovy Sinn ist ja nicht nur Javazeilen kuerzer zu machen...

    wie alle Sprachen die auf der JVM laufen kommt am ende ein .class raus

    du kannst auch froehlich Java & groovy in einem Projekt haben und am Ende dir dein .jar bauen.
    permalink
    Veröffentlicht: 19.08.2009 um 12:30 von bygones bygones ist offline
  5. Alter Kommentar
    Benutzerbild von thE_29
    Ich glaube wegen dir, werde ich mir jetzt mal Groovy näher angucken
    permalink
    Veröffentlicht: 19.08.2009 um 12:39 von thE_29 thE_29 ist offline
  6. Alter Kommentar
    Benutzerbild von bygones
    muaahaaaa
    permalink
    Veröffentlicht: 19.08.2009 um 15:01 von bygones bygones ist offline
  7. Alter Kommentar
    Im Javacode sind aber auch Fehler enthalten, zu einem ist er nicht compilierbar, zum anderen sollte ein close() nie einfach so aufgerufen werden. Die Fehlerbehandlung fehlt bei den Codes.
    permalink
    Veröffentlicht: 07.09.2009 um 09:23 von DaFuchs DaFuchs ist offline
  8. Alter Kommentar
    Benutzerbild von bygones
    oh verzeih ich habe den parameter file nicht erwaehnt.

    und ja ich habe das ganze geschlamms bzgl try catch finally weggelassen, wobei das das Beispiel noch mehr verdeutlicht haette...
    permalink
    Veröffentlicht: 07.09.2009 um 11:52 von bygones bygones ist offline
  9. Alter Kommentar
    Fehlerbehandlung ist kein "geschlamms". z.b. will man darauf reagieren, wenn etwas schief geht. Ich finde die Argumentation halt einseitig. Wo das file herkommt, ist ja nicht so wichtig, weil FileReader ja auch Strings nimmt. Das kann man sich denken.
    permalink
    Veröffentlicht: 07.09.2009 um 12:12 von DaFuchs DaFuchs ist offline
  10. Alter Kommentar
    Benutzerbild von bygones
    du hast mich falsch verstanden... Fehleberhandlung an sich ist nicht das geschlamms... nur wie man es in Java dank des boilercodes zu tun hat... das ist das geschlamms.

    Ich kritisiere nicht den nutzen, sondern die Umsetzung
    permalink
    Veröffentlicht: 08.09.2009 um 08:12 von bygones bygones ist offline
 

Alle Zeitangaben in WEZ +1. Es ist jetzt 17:40 Uhr.


Powered by vBulletin® Version 3.8.6 (Deutsch)
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.2
Thanks for Smilies by smilies.4-user.de