昨天網上下載浮沉2小說,一個一百多k的txt文本,這麼大的一個檔案在電腦上看到是沒問題,手機上看就費勁了。開始想網上下載個工具,分割txt的工具,後來想,能不能自己寫個。今天上班,網上尋找折騰一通,最後出來了。
主要是用javascript中的FileSystemobject對象,我只是簡單介紹下,網上關於它的資料不少。
1.建立FileSystemObject對象
var fso = new ActiveXObject("Scripting.FileSystemObject");
2.使用FileSystemObject對象的方法
object.OpenTextFile(filename, iomode, create, format)
3.方法中的相關屬性
iomode 參數可為下面設定值中的任何值:
ForReading 1 開啟一個唯讀檔案,不能對此檔案進行寫操作。
ForWriting 2 開啟一個用於寫操作的檔案。如果和此檔案同名的檔案已存在,則覆蓋以前內容。
ForAppending 8 開啟一個檔案並寫到檔案的尾部。
create 可選的,它表示如果指定的 filename 不存在是否可以建立一個新檔案。如果建立新檔案,其值為 True。若不建立檔案其值為 False。預設值為 False。
Format 參數可為下面設定值中的任何值:
TristateUseDefault –2 使用系統預設開啟檔案。
TristateTrue –1 以 Unicode 格式開啟檔案。
TristateFalse 0 以 ASCII 格式開啟檔案。
4.具體代碼
<SCRIPT LANGUAGE="JavaScript">
var loop=10;//檔案個數
var ForReading = 1;
var ForWriting=2;
var fso=new ActiveXObject("Scripting.FileSystemObject");
var ts=fso.OpenTextFile("f://temp.txt",ForReading);
var s=ts.ReadAll(); //擷取檔案全部內容
document.write("File contents='"+s+"'");
ts.Close();
var len=Math.floor(s.length/10);
alert(len);
for(var i=0;i<loop;i++){
var temp=s.substr(len*i,len);
f = fso.OpenTextFile("f://fuchen"+(i+1)+".txt", ForWriting, true);
f.write(temp);
f.close();
}
</SCRIPT>