inputStreamReader не распознает тип JFileChooser

У меня есть переменная inFileName типа JFileChooser.

Я вызвал эту переменную для метода HexFinder в классе checksumFinder. Он должен использоваться в inputStreamReader внутри BufferedReader. (Я использую эту строку, чтобы назвать это)

cf.HexFinder(inFileName,null,null,null);

Это вызывает ошибку, так как inputStreamReader будет принимать только переменные типа String. (Вот мой код для BufferedReader)

BufferedReader reader = new BufferedReader(new InputStreamReader(this.getClass().getResourceAsStream(inFileName)));

Есть ли способ заставить inputStreamReader читать в inFileName? Если нет, то как я могу это решить? Буду признателен за любую оказанную помощь.


person Robert English    schedule 21.08.2013    source источник


Ответы (1)


Если вы пытаетесь прочитать файл, выбранный JFileChooser, вы можете сделать следующее;

File file = inFileName.getSelectedFile();
BufferedReader reader = new BufferedReader(new FileReader(file));

Обратите внимание, что FileReader использует кодировку символов по умолчанию. Вы можете вручную указать кодировку следующим образом;

String charset = "UTF-8";
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), charset));
person Qwerky    schedule 21.08.2013