NanoHTTPDを使ってバイナリの応答
eclipseを使ってAndroidアプリを作っています。NanoHTTPD.javaを使ってhttpアクセスがあると、バイナリデータを応答するようにしたいと思っています。
assetsフォルダには"abc.bin"ファイル(バイナリデータ)があります。このファイルを応答したいのです。
private class MyHTTPD extends NanoHTTPD {
public MyHTTPD() throws IOException {
super(PORT, null);
}
@Override
public Response serve(String uri, String method, Properties header,
Properties parms, Properties files) {
InputStream is = null;
BufferedReader br = null;
String key = "";
try {
try {
is = getAssets().open("abc.bin");
br = new BufferedReader(new InputStreamReader(is));
String str;
while ((str = br.readLine()) != null) {
key += str;
}
} finally {
if (is != null)
is.close();
if (br != null)
br.close();
}
} catch (Exception e) {
Log.d("test", "abc.binが読み込めません。");
}
return new NanoHTTPD.Response(HTTP_OK, MIME_DEFAULT_BINARY, key);
}
}
しかし、バイナリはそのまま配信されず変換されているようです。
Stringの変数にしているからでしょうか。またバイナリをhttp応答するにはどうしたらいいのでしょうか。
よろしくお願いします。