資源簡介
該爬蟲代碼可將一個多頁面含有多條文件的下載地址截取到,然后將下載地址放到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在線英漢字典
評論
共有 條評論