У меня есть программа, которую я пишу, где я использую библиотеку другой компании для загрузки некоторых отчетов с их веб-сайта.Я хочу проанализировать эти отчеты перед тем, как записать их в файл, потому что, если они соответствуют определенным критериям, я хочу игнорировать их.
Проблема в том, что их метод, называемый download (), возвращает java.io.Reader.Единственный доступный мне метод -
int read(char[] cbuf);
Печать этого возвращенного массива дает мне бессмысленные символы.Я хочу иметь возможность определить, с каким набором символов я работаю, или преобразовать его в байтовый массив, но я не могу понять, как это сделать.Я пробовал
//retrievedFile is my Reader object
char[] cbuf = new char[2048];
int numChars = retrievedFile.read(cbuf);
//I've tried other character sets, too
new String(cbuf).getBytes("UTF-8");
и боюсь опускаться до более полезного читателя, потому что я не могу точно знать, сработает он или нет.Любые предложения?
РЕДАКТИРОВАТЬ
Когда я говорю, что это печатает "бессмысленные символы", я не имею в виду, что это похоже на пример, приведенный Джоном Скитом.Это действительно сложно описать, потому что я сейчас не на своей машине, но я думаю, что это проблема кодирования.Кажется, что символы имеют отступы и структуру, похожую на внешний вид отчетов.Я попробую эти предложения, как только вернусь во вторник (я только стажер, поэтому я не удосужился настроить удаленную учетную запись или что-либо еще).