我正在开发一个Android应用程序,它建立一个mini-http服务器来向客户端发送一些文件。客户端发送请求,此应用程序使用常规http响应进行响应(因此它包含标头和文件内容)。
我有一段可以处理文本文件的代码。
os = new PrintWriter(socket.getOutputStream(), true);
String filename = "index.html";
File file = new File(Environment.getExternalStorageDirectory().toString()+"/FileShare/",filename);
StringBuilder text = new StringBuilder();
try {
BufferedReader br = new BufferedReader(new FileReader(file));
String line;
while ((line = br.readLine()) != null) {
text.append(line);
text.append('\n');
}
br.close();
}
catch (IOException e) {...}
os.print("HTTP/1.0 200" + "\r\n");
os.print("Content type: " + getMimeType(filename) + "\r\n");
os.print("Content length: " + text.length() + "\r\n");
os.print("\r\n");
os.print(text + "\r\n");
os.flush();
socket.close();
所以我的问题是如何将二进制数据放入http内容?
提前致谢。