java_生成并打开本地html文件

//生成文件:

/**
* 读取本地文件,并写入StringBuffer ,以csv文件为例

*builders = new StringBuilders("<html><head><script>......<body>");调用方法前写入页面的开始标签,方法结束后append页面的结束标签

*/
private static void csvToCache(File csv,StringBuilder builders,StringBuilder jsons){
  try {
    String encoding="GBK";
    DataInputStream in=new DataInputStream(new FileInputStream(csv));
    BufferedReader br = new BufferedReader(new InputStreamReader(in,encoding));
    String line = "";

    int index = 1;//定义序号

    int row=1;

    while ((line = br.readLine()) != null) //读取到的内容给line变量
    {
      //do something;

      if(row==1) {//跳过第一行表头
        row++;
        continue;
      }

      String contents[] = line.trim().split(",");//此处csv文件中每行的数据是按逗号分隔的

      for(int i=1;i<contents.length;i++) {

        //添加到相应的StringBuilder里面,builders.append("contents[i]");若有需要可使用index设置标识

      }

      index++;
    }
    br.close();
  } catch (Exception e) {
    System.out.println("csvToCache is error !");
    e.printStackTrace();
  }
}

/**

*根据StringBuffer的内容生成本地文件

*/

public static void createFile(StringBuilder builders,String url) {

  try{

    File file = new File(url);

    if(file.exists()) {//删除原来的旧文件

      file.delete();

    }

    PrintStream printStream = new PrintStream(new FileOutputStream(file));

    printStream.println(builders.toString());

  }catch(FileNotFoundException e){

    e.printStackTrace();

  }

}

---------------------------------------

//打开文件:

//第一种: Object获取项目中的properties

InputStream in = Object. class .getResourceAsStream( "/com/demo/conf.properties" );

//第二种: 直接获得本地配置文件properties

FileInputStream in = new FileInputStream("D:\\work\\demo\\conf.properties");

//加载properties文件

Properties prop =  new  Properties();

prop.load(in);

//从配置文件中获取 页面的位置,此处url为网页的绝对路径,如:d:/demo/index.html

String url = prop.getProperty( "csv_url" ).trim();

//根据url打开网页

private static void browse(String url) throws ClassNotFoundException, IllegalAccessException,
      IllegalArgumentException, InterruptedException, InvocationTargetException, IOException,NoSuchMethodException {
  String osName = System.getProperty("os.name", "");
  if (osName.startsWith("Windows")) {
    Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + url);
  } else if (osName.startsWith("Mac OS")) {
    Class fileMgr = Class.forName("com.apple.eio.FileManager");
    Method openURL = fileMgr.getDeclaredMethod("openURL", new Class[] { String.class });
    openURL.invoke(null, new Object[] { url });
  } else { //  Unix or Linux
    String[] browsers = { "firefox", "opera", "konqueror", "epiphany", "mozilla", "netscape" };
    String browser = null;
    for (int count = 0; count < browsers.length && browser == null; count++)
      if (Runtime.getRuntime().exec(new String[] { "which", browsers[count] }).waitFor() == 0)
      browser = browsers[count];
    if (browser == null)
      throw new NoSuchMethodException("Could not find web browser");
    else
      Runtime.getRuntime().exec(new String[] { browser, url });
  }
}

时间: 2024-10-09 13:22:55

java_生成并打开本地html文件的相关文章

打开本地STL文件并创建webgl使用的geometry

需求 打开本地STL文件 一个独立基于webgl的viewer,会被别的网站重用 将打开文件的数据传输给viewer,并且在文件加载的时候显示进度条 解决方案 #1可以使用传统的html5 api来打开, #2来说,可以通过iframe来提供独立的viewer, #3来说需要用web worker来实现. 实现细节 数据的流向是网站的main page->iframe中viewer的main page->web worker->iframe的main page 刚打开的数据类型是buff

VS2010 根据模型生成数据库 打开edmx.sql文件时 vs出现无响应的解决方案

VS2010 根据模型生成数据库 打开edmx.sql文件时 vs出现无响应的解决方案   第七城市th7cn 今天在VS2010 sp1+sql server 2008 R2+Win7操作系统下测试ADO.NET 实体数据模型时 ,遇到这样一个问题. 首先建好实体模型,然后"根据模型生成数据库",也就是根据实体数据模型生成相应表结构,创建好连接字符串,在弹出的如图窗口后,点击“完成”按钮,程序会自动生成后缀为edmx.sql的文件,但是当打开这个文件时,vs2010出现无响应的情况,

使用JAVA关联打开本地应用文件

在项目里需要运行本地文件或者应用,JDK6后就新增Desktop类,可以直接使用.这样就可以在程序里可以打开任何应用.比如:打开的是pdf文件,本地默认打开是福昕,程序运行的时候就会使用福昕打开pdf文件. package test; import java.awt.Desktop; import java.io.File; public class DesktopTest { public static void main(String[] args) { //平台是否支持Desktop类 i

在OperaMobileEmulator中打开本地网页文件

虽然operaMobileEmulator模拟器没有呈现真实手机的外观,不过窗口尺寸与手机屏幕是一样的,而且可以任意调节窗口大小,如果要浏览不同屏幕尺寸的效果,这款模拟器十分方便. 安装完成后看到如下界面: 设置好相关的参数(选机型,分辨率等),然后点击启动,出现如下界面: 看到“输入地址”的框框, 打开本地文件只需输入file:///磁盘名:/目录/htm文件名 (注意是三个“/”,“目录”就是你存放网页的目录)后来经过测试:前面的file:///也不用输入了,直接输入“磁盘:/目录/文件名”

【原】使用SQLite打开本地*.db文件

1.下载安装文件:官网下载地址:http://www.sqlite.org/download.html32位安装包:http://www.sqlite.org/2016/sqlite-tools-win32-x86-3130000.zip64位补丁:http://www.sqlite.org/2016/sqlite-dll-win64-x64-3130000.zip 2.安装: 解压之后,将64位补丁包dll文件与exe文件放在相同目录下即可 3.使用:sqlite3 .exe 才438KB 

利用浏览器外部协议(URL Procotol)打开本地exe文件

一.利用注册表文件将外部协议写入注册表 [HKEY_CLASSES_ROOT\PCTV] @="PCTVProtocol" "URL Protocol"="\"C:\\Program Files (x86)\\PCTV双模软终端_64位\\PCTV.exe\"" [HKEY_CLASSES_ROOT\PCTV\DefaultIcon] @="\"C:\\Program Files (x86)\\PCTV双模

Android 打开本地文件

Android 打开本地的文件,目前来说,其实很常见.而且现在有手机版的office了.查看office的全家桶就更加方便. 首先要知道的是,Android 打开本地文件是根据类型打开的,也就是根据文件的 MIME 类型来确定 如果不知道是什么类型,那就是 : */* 类型匹配表: private static final String[][] MIME_MapTable={ //{后缀名, MIME类型} {".3gp", "video/3gpp"}, {&quo

sublime打开文件时自动生成并打开.dump文件

GBK Encoding Support 没有安装前打开ASNI格式编码文件会乱码,安装成功重启则可以打开正常 关于.dump文件生成的解释: 当打开一个非utf-8格式且包含汉字的文件时,sublime text 2会自动生成一个dump文件,文件修改过程中,不会修改原文件,只有按"保存"了才会将dump的数据更新到原文件里,关闭当前编辑的dump文件则会自动删除dump文件. 但是有时候 GBK Encoding Support 插件也会出些bug,就想这样,生成.dump文件后自

【Android】打开本地的html文件

网上好多说法 但实际上说到点上的没有 不想写太长 直接进入正题 Intent intent = new Intent(Intent.ACTION_VIEW); intent.addCategory(Intent.CATEGORY_DEFAULT); intent.setDataAndType(Uri.fromFile(htmlPath), "text/html"); if (intent.resolveActivity(getPackageManager()) != null) { s