Честно говоря, это отличное предложение для команды Visual Studio, владеющей NuGet. Мне бы очень хотелось, чтобы TFS понимала зависимости NuGet и обрабатывала их соответствующим образом для разработчиков, участвующих в проекте, и для серверов сборки, желающих компилировать с использованием зависимостей NuGet.
вы бы не оборачивали Reader, вместо этого вы бы обернули поток, используя InputStreamReader. Затем вы можете обернуть это своим BufferedReader, который вы в настоящее время используете
BufferedReader in = new BufferedReader(new InputStreamReader(stream, encoding));
Проверить http://java.sun.com/j2se/1.4.2/docs/api/java/io/InputStreamReader.html
Я бы прочитал исходный файл с что-то вроде:
Reader in = new InputStreamReader(new FileInputStream("file"), "UTF-8"));
Некоторые примечания: