我在Android(7.0)设备上从字符串内容创建测试html文件。文件创建正常,显示正确的扩展名和图标,但在点击时无法识别格式,提供消息"不支持文件格式"。然而,如果我将这个相同的文件保存到PC并转移回设备,问题就会消失。然后显示应用程序选择以打开html,因为它应该是。
尝试了几种写法。在所有情况下,文件都已创建,内容看起来正确,但格式无法立即识别。无法弄清楚为什么需要额外的步骤或书面数据?最新的一个是BufferedWriter(确保UTF-8)如下:
final File file = new File(path, name + file_extension);
StringBuilder strBuilder = new StringBuilder();
strBuilder.append("test");
strBuilder.insert(0, "<html>"+"\r\n"+"<body><p>"+"\r\n");
strBuilder.insert(strBuilder.length(), "\r\n"+"</p></body>"+"\r\n"+ "</html>");
String html_content=strBuilder.toString();
try
{
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), StandardCharsets.UTF_8));
bw.write(html_content);
bw.close();
} catch (IOException e)
{
e.printStackTrace();
Log.e("Exception", "File write failed: " + e.toString());
}
答案 0 :(得分:0)
尝试在HTML标记之前添加:
<!DOCTYPE html>
并删除StringBuilder.append(“test”);