Nodejs中讀取中文檔案編碼問題、傳送郵件和定時任務實例_node.js
關於nodejs讀取中文檔案真是折騰了不少時間,網路上各種方案,最後沒有一個適用我,好在解決了。
下面的三個知識點都是從專案中抽出的,要單獨運行腳本的話需要用全局模式來安裝模組,例如安裝中文轉換模組(後續其它的也需要這麼做):
npm install -g iconv-lite
npm install -g nodemailer
npm install -g node-schedule
1、nodejs讀取中文檔案編碼問題
準備一個文字檔(當然也可以是csv檔等)test.txt和text.csv,nodejs檔test.js如下:
var iconv = require('iconv-lite');
var fs = require('fs');
var fileStr = fs.readFileSync('D:\test.csv', {encoding:'binary'});
var buf = new Buffer(fileStr, 'binary');
var str = iconv.decode(buf, 'GBK');
console.log(str);
直接讀文件的話是亂碼,不信你可以試試。需要先統一用二進位編碼方式讀取,然後再用GBK解碼。運行結果如下:
更多參見:iconv-lite
2、nodejs發送郵件
啥都不想說,直接上程式碼,簡單易懂:
var nodemailer = require('nodemailer');
//設定郵件
var transporter = nodemailer.createTransport('SMTP',{
service: '163qiye',
auth: {
user: 'zhoujie0111@126.com',
pass: '123456',
}
});
//寄信
var sendmail = function(html){
var option = {
from:"zhoujie0111@126.com",
to:"zhoujie0111@126.com,zhoujie0111@126.com",
cc:'zhoujie0111@126.com'
}
option.subject = '我5年前所訂定的五年計畫'
option.html= html;
transporter.sendMail(option, function(error, response){
if(error){
console.log("fail: " error);
}else{
console.log("success: " response.message);
}
});
}
//呼叫發送郵件
sendmail("郵件內容:
My goal for 2015 is to accomplish the goals of 2014 which I should have done in 2013 because I made a promise in 2012 & planned in 2011!");
更多參見:nodemailer
3、nodejs定時任務
這個用法很多,如果熟悉linux crontab語法,這個就更簡單了。我鄒的這個例子很和諧,呵呵:
var schedule = require('node-schedule');
/*方式一:
指定某時間執行任務
*/
var schedule = require('node-schedule');
var date = new Date(2014, 12, 31, 16, 1, 0);
var j = schedule.scheduleJob(date, function(){
console.log('2015 will soon come.');
});
/*方式二:
在每小時的幾分鐘執行
*/
var rule = new schedule.RecurrenceRule();
rule.minute = 1;
var j = schedule.scheduleJob(rule, function(){
console.log('I'm very happy now!');
});
/*方式三:
類似crontab
*/
var j = schedule.scheduleJob('1 * * * *', function(){
console.log('It's time to 下午茶!');
});
運行結果更和諧,呵呵:
不要奇怪為什麼第一個計畫任務沒有執行,因為這個是格林威治時間,它需要等8個小時後再執行。呵呵~~
更多參見:node-schedule
聽了一天的悲傷的音樂,越聽越開心。哈哈

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

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

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

Dreamweaver CS6
視覺化網頁開發工具

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

Node.js 是一種伺服器端 JavaScript 執行時,而 Vue.js 是一個客戶端 JavaScript 框架,用於建立互動式使用者介面。 Node.js 用於伺服器端開發,如後端服務 API 開發和資料處理,而 Vue.js 用於用戶端開發,如單一頁面應用程式和響應式使用者介面。

Node.js 中存在以下全域變數:全域物件:global核心模組:process、console、require執行階段環境變數:__dirname、__filename、__line、__column常數:undefined、null、NaN、Infinity、-Infinity

要連接 MySQL 資料庫,需要遵循以下步驟:安裝 mysql2 驅動程式。使用 mysql2.createConnection() 建立連接對象,其中包含主機位址、連接埠、使用者名稱、密碼和資料庫名稱。使用 connection.query() 執行查詢。最後使用 connection.end() 結束連線。

Node.js 安裝目錄中有兩個與 npm 相關的文件:npm 和 npm.cmd,區別如下:擴展名不同:npm 是可執行文件,npm.cmd 是命令視窗快捷方式。 Windows 使用者:npm.cmd 可以在命令提示字元中使用,npm 只能從命令列執行。相容性:npm.cmd 特定於 Windows 系統,npm 跨平台可用。使用建議:Windows 使用者使用 npm.cmd,其他作業系統使用 npm。

是的,Node.js可用於前端開發,主要優勢包括高效能、豐富的生態系統和跨平台相容性。需要考慮的注意事項有學習曲線、工具支援和社群規模較小。

Node.js 和 Java 的主要差異在於設計和特性:事件驅動與執行緒驅動:Node.js 基於事件驅動,Java 基於執行緒驅動。單執行緒與多執行緒:Node.js 使用單執行緒事件循環,Java 使用多執行緒架構。執行時間環境:Node.js 在 V8 JavaScript 引擎上運行,而 Java 在 JVM 上運行。語法:Node.js 使用 JavaScript 語法,而 Java 使用 Java 語法。用途:Node.js 適用於 I/O 密集型任務,而 Java 適用於大型企業應用程式。
