用JavaScript讀取和保存檔案
因為Google還不提供同步插件資料的功能,所以導入和匯出插件設定就必須和檔案打交道了。而出於安全原因,只有IE才提供存取文件的API;但隨著HTML 5的到來,其他瀏覽器也紛紛支援了。
先說讀取文件。 W3C提供了一些File API,其中最重要的是FileReader這個類別。
先列出需要用到的HTML標籤:
<input type="file" id="file" onchange="handleFiles(this.files)"/>
的函數當選項。
這個FileList物件類似一個數組,可以知道檔案的數目,而它的元素就是File物件了。
從這個File物件可以取得name、size、lastModifiedDate和type等屬性。
把這個File物件傳給FileReader物件的讀取方法,就能讀取檔案了。
FileReader共有4種讀取方法:
readAsArrayBuffer(file):將檔案讀取為ArrayBuffer。
readAsBinaryString(file):讀取檔案為二進位字串
readAsDataURL(file):讀取檔案為Data URL
值為'UTF-8'
此外,abort()方法可以停止讀取檔案。
FileReader物件在讀取檔案後,還需要處理。為了無法阻塞目前線程,API採用了事件模型,可以註冊這些事件:
onabort:中斷時觸發
onerror:出錯時觸發
時觸發,無論是否失敗 onloadstart:文件開始讀取時觸發 onprogress:當文件讀取時,週期性地觸發 後,就可以處理了這些方法,以後就可以處理文件了。 讀取文件 先來試試讀取文字檔案:function handleFiles(files) {
if (files.length) {
var file = files[0];
var reader = new FileReader();
if (/text/w+/.test(file.type)) {
reader.onload = function() {
$('<pre class="brush:php;toolbar:false">' + this.result + '
').appendTo('body');
}
reader.readAsText(file);
}
}
} <span style="font-family: Arial, Helvetica, sans-serif;">这里的this.result实际上就是reader.result,也就是读取出来的文件内容。</span>
測試一下你會發現這個檔案的內容被加入到網頁中了。如果是用Chrome的話,必須把網頁放在伺服器或插件裡,file協定下會失敗。 再來試試看圖片,因為瀏覽器可以直接顯示Data URI協定的圖片,所以這次就加入圖片:function handleFiles(files) { if (files.length) { var file = files[0]; var reader = new FileReader(); if (/text/w+/.test(file.type)) { reader.onload = function() { $('<pre class="brush:php;toolbar:false">' + this.result + '').appendTo('body'); } reader.readAsText(file); } else if(/image/w+/.test(file.type)) { reader.onload = function() { $('

<input type="file" id="files" multiple="" onchange="handleFiles(this.files)"/>測試時會提示儲存一個文字檔案。 Chrome需要把網頁放在伺服器或插件裡。
附:写文件工具类(干货)
/** * 写文件 * @param fileName 文件名 * @param data 文件流 * @param path 写入路径 * @return boolean */ public static boolean writeFile(String fileName,String data,String path) { try { // System.out.println("fileContent:" + data); File file = new File(path + fileName); if(!file.exists()){ file.createNewFile(); } FileOutputStream outStream = new FileOutputStream(file); outStream.write(data.getBytes()); outStream.flush(); outStream.close(); outStream = null; return(true); } catch (Exception e) { e.printStackTrace(); return(false); } }
美文美图
以上就是JavaScript进阶(六)用JavaScript读取和保存文件的内容,更多相关内容请关注PHP中文网(www.php.cn)!

C 和JavaScript通過WebAssembly實現互操作性。 1)C 代碼編譯成WebAssembly模塊,引入到JavaScript環境中,增強計算能力。 2)在遊戲開發中,C 處理物理引擎和圖形渲染,JavaScript負責遊戲邏輯和用戶界面。

JavaScript在網站、移動應用、桌面應用和服務器端編程中均有廣泛應用。 1)在網站開發中,JavaScript與HTML、CSS一起操作DOM,實現動態效果,並支持如jQuery、React等框架。 2)通過ReactNative和Ionic,JavaScript用於開發跨平台移動應用。 3)Electron框架使JavaScript能構建桌面應用。 4)Node.js讓JavaScript在服務器端運行,支持高並發請求。

Python更適合數據科學和自動化,JavaScript更適合前端和全棧開發。 1.Python在數據科學和機器學習中表現出色,使用NumPy、Pandas等庫進行數據處理和建模。 2.Python在自動化和腳本編寫方面簡潔高效。 3.JavaScript在前端開發中不可或缺,用於構建動態網頁和單頁面應用。 4.JavaScript通過Node.js在後端開發中發揮作用,支持全棧開發。

C和C 在JavaScript引擎中扮演了至关重要的角色,主要用于实现解释器和JIT编译器。1)C 用于解析JavaScript源码并生成抽象语法树。2)C 负责生成和执行字节码。3)C 实现JIT编译器,在运行时优化和编译热点代码,显著提高JavaScript的执行效率。

JavaScript在現實世界中的應用包括前端和後端開發。 1)通過構建TODO列表應用展示前端應用,涉及DOM操作和事件處理。 2)通過Node.js和Express構建RESTfulAPI展示後端應用。

JavaScript在Web開發中的主要用途包括客戶端交互、表單驗證和異步通信。 1)通過DOM操作實現動態內容更新和用戶交互;2)在用戶提交數據前進行客戶端驗證,提高用戶體驗;3)通過AJAX技術實現與服務器的無刷新通信。

理解JavaScript引擎內部工作原理對開發者重要,因為它能幫助編寫更高效的代碼並理解性能瓶頸和優化策略。 1)引擎的工作流程包括解析、編譯和執行三個階段;2)執行過程中,引擎會進行動態優化,如內聯緩存和隱藏類;3)最佳實踐包括避免全局變量、優化循環、使用const和let,以及避免過度使用閉包。

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

禪工作室 13.0.1
強大的PHP整合開發環境

SublimeText3漢化版
中文版,非常好用

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)