BufferedInputStream
UTF-8でエンコードされたテキストファイルのバイトをバイト配列に読み込むためにa を使用したとしましょう。私は次のルーチンを使用してバイトを文字列に変換できることを知っていますが、バイトを反復してそれぞれを変換するよりも効率的でスマートな方法がありますか?
public String openFileToString(byte[] _bytes)
{
String file_string = "";
for(int i = 0; i < _bytes.length; i++)
{
file_string += (char)_bytes[i];
}
return file_string;
}
byte[]
をメモリにロードし、それを介してnew String(_bytes,"UTF-8")
(または+=
文字列のチャンクによって)変換するのが最も効率的かどうかはわかりません。特に大きなファイルでは、InputStreamsとReadersをチェーンするとうまく機能する場合があります。
String fileString = new String(_bytes,"UTF-8");
か?