Neue SuppressWarning in Eclipse Juno

blauerninja

Mitglied
Hallo Leute,
ich hab heute ein Update auf Eclipse Juno gemacht und prompt festgestellt, dass eine Klasse, die bei mir zum Lesen aus Dateien zuständig ist mit einer Warnung versehen wurde. Ich solle doch @SuppressWarnings("resource") vor die Methode schreiben. Wozu dient dies? Bei Indigo gab es sowas nicht, im Internet find ich zu ebendieser warnung noch nichts.

Kurz noch ein Snippet:
Java:
  public static String readLine(String file, String linesFirstWord)
                       throws ArgumentNotFoundInFileException, FileNotFoundException, IOException {
    try {
      String output = null;
      BufferedReader input = new BufferedReader(new FileReader(file)); //<- Add Susspresswarning("resource") to input or readLine()

      do {
        output = input.readLine();

        if (output == null) {
          throw new ArgumentNotFoundInFileException(linesFirstWord, file); //<- Add SusspressWarning("resource") to readLine()
        }
      } while (!output.split(SEPARATOR)[0].equals(linesFirstWord));

      input.close();
      return output;
    } catch (IOException e) {
    }
  }
 
Moin,

schau mal hier:
Help - Eclipse Platform

Gruß
Klaus

[EDIT]
Vlt. noch zur weiteren Erklärung :

Closeable ist eine einfache Schnittstelle seit Java 5. Closeable wird von allen lesenden und schreibenden Datenstrom-Klassen implementiert, die geschlossen werden können.

void close() throws IOException Schließt den Datenstrom. Ein schon geschlossener Strom kann noch einmal geschlossen werden und hat keine Konsequenzen.
[/EDIT]
 
Zuletzt bearbeitet:
bug at The Object Teams Blog
"Help the JDT Compiler helping you! - 2: Resource leaks - continued"
scheint ziemlich viel passendes zu enthalten
(Suche war: Add @SuppressWarnings("resource") juno)

zu deinem Programm:
input wird nicht geschlossen wenn eine IOException auftritt, setze das close() ins finally,
wobei man ganz sauber wohl dort auch noch auf null prüfen muss,
vielleicht ist das der Grund für die Warning
 

Zurück
Oben