2017-06-18 9 views
1

あるファイルから別のファイルにテキストを転送するためのこのコードはありますが、動作しません。 2番目と3番目の文字は最初のファイルから2番目の文字にのみ転送され、テキスト全体は転送されません。誰でも助けてくれますか?あなたは毎秒のバイトを無視するループに2を読み込むないのでJava I/Oを使用して1つのファイルから別のファイルにテキストを転送する方法

FileInputStream br=new FileInputStream(ss); 
    FileOutputStream rb=new FileOutputStream(sd); 
    while(br.read()!=-1){ 
      rb.write(br.read()); 
    } 
    if(br!=null) 
     br.close(); 
    if(rb!=null) 
     rb.close(); 

} 
+1

あなたはあなたの「while」の状態であなたが読んだ文字に何が起こると思いますか? – tkausl

答えて

3

すべてreadは、バイトを読み取ります。

あなたはこのような何かをする必要があります。

int b; 
while ((b=br.read()) != -1) { 
    rb.write(b); 
} 

さらに良いことは少ない読み取りを持っているとの通話を書くためにバイトを読み書きするために、より大きなバッファを使用することです。

関連する問題