3C科技 娛樂遊戲 美食旅遊 時尚美妝 親子育兒 生活休閒 金融理財 健康運動 寰宇綜合

Zi 字媒體

2017-07-25T20:27:27+00:00
加入好友
此篇文章瀏覽量: 1,288 檔案系統模組(fs),都提供了「非同步」和「同步」兩個版本的操作方法,此文章介紹 截取檔案內容,並取代原檔案內容 的操作方式,僅示範同步的方式。 同步方法:fs.ftruncateSync();非同步方法:fs.ftruncate()。 以下僅示範「同步」的方法。 「同步」截取檔案內容,並取代原檔案內容:fs.ftruncateSync() 假設有一個檔案「txt/ftruncateSync.txt」,其檔案內容為以下: abcdefghijklmnog 另有一個程式如下: var fs = require('fs'); var exec = require('child_process').exec; var child_pre = exec('cat txt/ftruncateSync.txt', function(error, stdout, stderr){ console.info('cat txt/ftruncateSync.txt stdout: '); console.log(stdout); console.log(stderr); // 打開檔案(同步方法) var fd = fs.openSync('txt/ftruncateSync.txt', 'a'); // 以 "附加" 的方式打開 fs.ftruncateSync(fd, 10); // 檔案內容截取,僅截取 10 個字元,其餘捨棄 console.info('File descriptor: ' + fd); console.log('fs.ftruncateSync() Done.'); fs.closeSync(fd); var child_suf = exec('cat txt/ftruncateSync.txt', function(error, stdout, stderr){ console.info('cat txt/ftruncateSync.txt stdout: '); console.log(stdout); console.log(stderr); }); }); 執行以上程式後,會發現該檔案的內容,僅剩下(10個字元): abcdefghij   上述程式碼需要使用到 fs.openSync(),因為 fs.ftruncateSync() 需要傳入 file descriptor ,稍嫌麻煩,以下介紹另一個方式,是可以直接傳入檔案路徑即可,不用再經過 fs.openSync() 這樣的步驟。 同樣有「同步( fs.truncateSync() )」與「非同步( fs.truncate() )」兩種方法,這裡僅介紹「同步」方法: 使用 fs.truncate() 修改檔案長度 var fs = require('fs'); var exec = require('child_process').exec; var child_pre = exec('cat txt/truncateSync.txt', function(error, stdout, stderr){ console.info('cat txt/truncateSync.txt stdout: '); console.log(stdout); console.log(stderr); fs.truncateSync('txt/truncateSync.txt', 10); // 檔案內容截取,僅截取 10 個字元,其餘捨棄 console.log('fs.truncateSync() Done.'); var child_suf = exec('cat txt/truncateSync.txt', function(error, stdout, stderr){ console.info('cat txt/truncateSync.txt stdout: '); console.log(stdout); console.log(stderr); }); }); 若覺得文章有幫助,請多分享,讓其他同好也能吸收網站技能知識。 Tweet

本文由carlos-studiocom提供 原文連結

寫了 5860316篇文章,獲得 23313次喜歡
精彩推薦