文字コードについて悩んでいます。

FileInputStream inReader = new FileInputStream(args[0]);
BufferedReader bufReader = new BufferedReader(new InputStreamReader(inReader, "えんこーど"));

として、一行一行
で読んでは、書き(ISO2022JP)というだけのプログラムなのですが、
入力で何を指定しても
inline = bufReader.readLine(); で止まってしまうのです。必ずというわけではありません。
何処かの行で止まり、とまる行はファイルと転送モードが同じであれば、毎回同じ行で止まります。
(アスキー転送でもバイナリ転送でも、どちらでも発生しますが、止まる部分は違います。)

前提として、Windowsからfedoraに転送したものを読み込みます。

苦肉の策で、iconvを使用して、Shift-JISからいったんUTF-8に変換し
UTF-8として読み込んでいます。
しかし、毎回事前にiconvを走らせるのは面倒ですし、いろんなミスの不安が付きまといます。
それ以前に、どの程度iconvが信頼できるのかわかりません。fromをShit-JISとひとくくりに
扱ってる所も不安です。
どうにかJava内だけで対応出来ないでしょうか。