根据URL解析出文件目录
2010-12-31 19:19
381 查看
package com; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.InputStreamReader; import java.net.URL; public class txt { //保存路径 private static String basePath = "E://"; /** * @param args */ public static void main(String[] args) { String urls = "http://ajava.org/course/java/"; URL uls; try { //校验URL 的合法性 if(true){ uls = new URL(urls); basePath += uls.getHost(); File file = new File(basePath); if(!file.isDirectory()){file.mkdir();} for(int i= 12487;i<17920;i++){ uls = new URL(urls+i+".html"); alysisUrl(uls); } //alysisUrl(uls); } } catch (Exception e) { System.out.println("Error:"+e.getMessage()); } } //URL解析 public static void alysisUrl(URL url){ try { //目录 String path = basePath+url.getFile().substring(0, url.getFile().lastIndexOf("/"))+"/"; File file = new File(path); if(!file.isDirectory()){file.mkdirs();} //文件 String fileName = url.getFile().substring(url.getFile().lastIndexOf("/")+1); if("".equals(fileName)){ fileName = "index.html"; }else{ if(fileName.lastIndexOf(".") > 0){ //fileName = fileName.substring(0,fileName.lastIndexOf(".")) + ".html"; fileName = fileName.substring(0,fileName.lastIndexOf("."))+System.currentTimeMillis()+".html"; }else{ fileName = fileName.substring(0) + ".html"; } } /*查找文件,如果不存在,就创建*/ File newFile = new File(path+fileName); if(!newFile.exists()){ //newFile.createNewFile(); //读取内存流数据,保存到文件 String currentLine = null; StringBuffer sb = new StringBuffer(); BufferedWriter out = new BufferedWriter(new FileWriter(path+fileName)); BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream())); while((currentLine = reader.readLine()) != null) { sb.append(currentLine); } reader.close(); out.write(sb.toString()); out.newLine(); out.close(); } System.out.println(path + " "+fileName); } catch (Exception e) { System.out.println("Error:"+e.getMessage()); } } //URL校验 public static boolean checkUrl(String url){ try { String fileName = url.substring(url.lastIndexOf("/")+1); if(fileName.indexOf(".") > 0){ if(".html".equals(fileName.substring(fileName.lastIndexOf(".")))){return true;} if(".shtml".equals(fileName.substring(fileName.lastIndexOf(".")))){return true;} return false; }else{return true;} }catch (RuntimeException e) {return false;} } }
相关文章推荐
- nginx根据Url发送文件解析
- 简单的解析文件,取URL地址,并根据地址抓下页面
- 简单的解析文件,取URL地址,并根据地址抓下页面
- dz asp.net论坛中函数--根据Url获得源文件内容
- QQ目录下各文件及目录用途解析(转)
- 根据URL下载文件
- 在带中文的目录下新建文件后,获取目录后,url乱码问题的解决
- JAVA-servelet 取得当前目录的路径/Servlet/class/文件路径/web路径/url地址
- JAVA根据目录读取文件路径
- Stave插件,让Fiddler能将URL映射到本地目录,实现批量文件自动响应
- 【提高】沙盒目录文件解析
- ECMALL模板解析机制.MVC架构分析及文件目录说明.二次开发指南手册
- Spark根据Key多目录多文件输出
- /dev目录下的设备文件解析
- thinkPHP网络地址栏分隔符,url从写 隐藏index.php目录入口文件
- [dos命令大全] 根据文件里的字符,自动创建目录
- 解析Vue2 dist 目录下各个文件的区别
- java 获取文件目录,根据后缀名 读取文件 根据关键字 查找
- C盘根目录文件解析——必须清楚的20个文件(文件夹)
- 根据Url获取手机文件真实路径