【初心者】Java質問・相談スレッド132【専用】
■ このスレッドは過去ログ倉庫に格納されています
0613デフォルトの名無しさん
2009/10/03(土) 13:03:00Shift_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なのでどう扱うかわかりません
エロい人ヒントをください
■ このスレッドは過去ログ倉庫に格納されています