Esempio

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();
}
}
}


Soluzione
Tutti i flussi aperti devono essere chiusi nel metodo finally

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();
}
}
}