Beispiel

import java.io.BufferedInputStream;
import java.util.Scanner;
import java.io.FileReader;

public class ClassA {
public void method(){
BufferedInputStream b = null;
Scanner s = null;
try {
b = new BufferedInputStream(new FileInputStream("file.txt"));
s = new Scanner(new BufferedReader(new FileReader("file2.txt")));
}
finally {
b.close();
}
}
}


Lösung
Alle geöffneten Ströme müssen in der Methode 'finally' geschlossen werden.

import java.io.BufferedInputStream;
import java.util.Scanner;
import java.io.FileReader;

public class ClassA {
public void method(){
BufferedInputStream b = null;
Scanner s = null;
try {
b = new BufferedInputStream(new FileInputStream("file.txt"));
s = new Scanner(new BufferedReader(new FileReader("file2.txt")));
}
finally {
b.close();
s.close();
}
}
}