创建的HTML文件无法被我的设备识别

时间:2018-02-12 14:08:49

标签: java android html file-writing

我在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());
  }

1 个答案:

答案 0 :(得分:0)

尝试在HTML标记之前添加:

<!DOCTYPE html>

并删除StringBuilder.append(“test”);