Я думаю, что это плохой дизайн. Ваш метод openFile () делает гораздо больше - он читает все содержимое и выводит его на консоль (бесполезно, но вы это делаете).
Я не вижу, какое значение предоставляет ваш метод close (). Вам лучше передать файл, чтобы закрыть. Что вы сделали, когда просто обернули метод из java.io.File? По крайней мере, обработайте исключение, чтобы пользователи не должны были это делать.
Я бы не рекомендовал использовать переменные класса. Вы можете написать три статических метода, которые будут намного полезнее:
package utils;
public class FileUtils
{
public static Reader openFile(String fileName) throws IOException
{
return new FileReader(new File(fileName));
}
public static List<String> readFile(String fileName) throws IOException
{
List<String> contents = new ArrayList<String>();
BufferedReader br = null;
try
{
br = new BufferedReader(openFile(fileName));
while ((String line = br.readLine()) != null)
{
contents.add(line);
}
}
finally
{
close(br);
}
return contents;
}
public static void close(Reader r)
{
try
{
if (r != null)
{
r.close();
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
}