私はファイルを1行ずつ読んでいます。ファイルはによってエンコードされCipherOutputStream
、後でによって圧縮されDeflaterOutputStream
ます。ファイルは、ロシア語の文字などのUTF-8文字で構成できます。
br.ReadLine()
実際に読み取ったファイルのオフセット、またはコマンドで読み取ったバイト数を取得したい。問題は、ファイルが暗号化され、収縮されているため、読み取り文字列の長さがファイル内の読み取りバイト数よりも長いことです。
InputStream fis=tempURL.openStream(); //in tempURL I've got an URL to download
CipherInputStream cis=new CipherInputStream(fis,pbeCipher); //CipherStream
InflaterInputStream iis=new InflaterInputStream(cis); //InflaterInputStream
BufferedReader br = new BufferedReader(
new InputStreamReader(iis, "UTF8")); //BufferedReader
br.readLine();
int fSize=tempURL.openConnection().getContentLength(); //Catch FileSize