Example

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


Solution
All open streams should be closed in the finally method

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