毎度お世話になっています
Shift_JIS関係で質問した者です

ネットワーク(Shift_JIS)→java(Unicode)→HDD(Shift_JIS)と文字コードを変換すると
ファイルのバイト数が替わってしまうので
ネットワーク(Shift_JIS)→java(Unicode、Shift_JIS)→HDD(Shift_JIS)と、
JavaでUnicodeとShift_JISデータを持ってShift_JISのデータだけをHDDに書き込もうと考えています

そのため、FilterInpuStreamを継承したクラスを作っているですが
public class Hoge extends FilterInputStream {
ArrayByteList byteList = new ArrayByteList();
public Hoge(InputStream in) { super(in); }
@Override
public int Read(byte[] b) throws IOException {
int temp = super.read(b);
for(int i = 0; i < temp; i++) {
byteList.add(b[i]);
}
return temp;
InputStream→Hoge→InputStreamReader→BufferedReader.readLine()の順番で使おうと考えています
という事をやって、Unicodeに変換してしまう前にShift_JISを違う場所に保存しようという作戦です
しかし、public int read()はbyteではなく戻り値がintなのでどう扱うかわかりません
エロい人ヒントをください