我正在嘗試使用 node.js 從檔案中讀取隨機行。我似乎找不到可行的解決方案。我嘗試在整個網路上搜索,但仍然無法找到有效的解決方案
我知道如何讀取整個檔案,但我不知道如何從檔案中讀取 1 個隨機檔案。
const fs = require('fs')
var readMe = fs.readFileSync('proxies.txt', 'utf8');
console.log(readMe);
uj5u.com熱心網友回復:
“隨機行”我猜你的意思是從檔案中的所有行中隨機選擇的一行。為此,您首先必須知道檔案包含多少行,然后您必須選擇一個。
最簡單和最簡單的方法是將整個檔案讀入 RAM,拆分行,然后完成其余的作業。這應該有效。
const fs = require('fs')
...
var data = fs.readFileSync('proxies.txt', 'utf8')
const readMe = data.split(/\r?\n/)
const lineCount = readMe.length
const randomLineNumber = Math.floor(Math.random() * lineCount)
const randomLine = readMe[randomLineNumber]
如果您的檔案包含很多行,這是一個非常糟糕的不好的解決方案。它會浪費 RAM,并且readFileSync()會減慢整個應用程式的速度。但是,如果您的檔案只包含一兩個千位元組,那么實際上就可以了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/415431.html
標籤:
