一天,在逛汤的时候,一个博主提供了一txt的视频合集,打开一看, 我去,纯txt链接,如果这样就没办法直接点击打开了,本着遇到问题解决问题的精神(^ ^),正好也可以检验下刚学习Node的fs模块,这个文件有一个特点就是一行一个链接,所以这个要想搞成一个可以直接点击打开网页的html文件,就容易多了,可以使用fs.createReadStream 读一行,然后给每一行链接添加一个<a>
标签,使之成为一个html链接元素,然后利用fs.createWriteStream写入到一个*.html
文件,到这里就大功告成了,剩下的就可以 。。。 嘿嘿 你懂的。。。
var fs = require('fs') ;
var result = '' ;
var input = fs.createReadStream('./tubr.txt','utf-8') ;
var output = fs.createWriteStream('./links.html','utf-8') ;
input.on('data',function(data) {
//
var index = data.indexOf('\n'),
last = 0 ;
while(index > -1) {
var prefix = '<div><a href ="',
mid = '">',
end = '</a></div>' ;
var sstring = data.substring(last,index) ;
var rs = prefix + sstring + mid + sstring + end + '\n' ;
result += rs ;
last = index + 1 ;
index = data.indexOf('\n',last) ;
}
}) ;
input.on('end',function() {
console.log('result \n',result) ;
var html = ('<html> \n <head> \n</head>\n<body>\n' + result + '\n</body>') ;
console.log('html -- \n',html) ;
output.write(html) ;
output.end() ;
}) ;
网友评论