资源简介
该爬虫代码可将一个多页面含有多条文件的下载地址截取到,然后将下载地址放到linux系统里在控制台输入一条命令就可以进行批量下载(还可以直接调用浏览器的接口直接下载,这个可以自行修改),代码有注释具体目的解压后有个txt文件有简单介绍。代码不是完全原创的,也是自己根据需要进行整合。
代码片段和文件信息
package spider;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 本地文件的读写操作封装类
*/
public class FileReaderWriter {
/**
* @param filePath
* 文件路径的字符串表示形式
* @param keyWord
* 查找包含某个关键字的信息:非null为带关键字查询;null为全文显示
* @return 当文件存在时,返回字符串;当文件不存在时,返回null
*/
public static String ReadFromFile(String filePath String keyWord) {
StringBuffer stringBuffer = null;
File file = new File(filePath);
if (file.exists()) {
stringBuffer = new StringBuffer();
FileReader fileReader = null;
BufferedReader bufferedReader = null;
String temp = ““;
try {
fileReader = new FileReader(file);
bufferedReader = new BufferedReader(fileReader);
while ((temp = bufferedReader.readLine()) != null) {
if (keyWord == null) {
stringBuffer.append(temp + “\n“);
} else {
if (temp.contains(keyWord)) {
stringBuffer.append(temp + “\n“);
}
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (fileReader != null)
fileReader.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
if (bufferedReader != null)
bufferedReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
if (stringBuffer == null) {
return null;
} else {
return stringBuffer.toString();
}
}
/**
* 将指定字符串写入文件。如果给定的文件路径不存在,将新建文件后写入。
*
* @param content
* 要写入文件的内容
* @param filePath
* 文件路径的字符串表示形式,目录的层次分隔可以是“/”也可以是“\\”
* @param isAppend
* true:追加到文件的末尾,false:以覆盖原文件的方式写入
*/
public static boolean writeIntoFile(String content String filePath
boolean isAppend) {
boolean isSuccess = true;
// 先过滤掉文件名
int index = filePath.lastIndexOf(“/“);
String dir = filePath.substring(0 index);
// 创建除文件的路径
File fileDir = new File(dir);
fileDir.mkdirs();
// 再创建路径下的文件
File file = null;
try {
file = new File(filePath);
file.createNewFile();
} catch (IOException e) {
isSuccess = false;
e.printStackTrace();
}
// 写入文件
FileWriter fileWriter = null;
try {
fileWriter = new FileWriter(file isAppend);
fileWriter.write(content);
fileWriter.flush();
} catch (IOException e) {
isSuccess = false;
e.printStackTrace();
} finally {
try {
if (fileWriter != null)
fileWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return isSuccess;
}
/**
* 获取当前时间,用于文件命名
*
* @param format
* yyyy 表示4位年, MM 表示2位月, dd 表示2位日,hh小时,mm分钟。
*
* @return true:创建成功,false创建不成功
*/
public static String getNowTime(String format) {
SimpleDateFormat formatter = new SimpleDateFormat(format);
return formatter.format(new Date());
}
/**
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-08-07 11:52 spider\
文件 301 2017-06-22 16:19 spider\.classpath
文件 382 2017-06-22 16:19 spider\.project
目录 0 2017-06-26 15:03 spider\.settings\
文件 598 2017-06-22 16:19 spider\.settings\org.eclipse.jdt.core.prefs
目录 0 2017-08-07 11:49 spider\bin\
目录 0 2017-08-07 11:49 spider\bin\spider\
文件 4146 2017-08-07 11:49 spider\bin\spider\FileReaderWriter.class
文件 3740 2017-08-07 11:51 spider\bin\spider\spider.class
目录 0 2017-06-26 15:03 spider\src\
目录 0 2017-06-26 15:03 spider\src\spider\
文件 4050 2017-06-23 14:27 spider\src\spider\FileReaderWriter.java
文件 3271 2017-08-07 11:51 spider\src\spider\spider.java
文件 16472 2017-08-07 11:45 spider\websave.txt
文件 403 2017-08-07 15:04 spider\介绍.txt
- 上一篇:java真值表源代码
- 下一篇:java在线英汉字典
评论
共有 条评论