Nodejs学习第7天 -实际问题-懒人懒办法

2016-10-18  本文已影响33人  _palm

一天,在逛汤的时候,一个博主提供了一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() ;
}) ;
上一篇 下一篇

猜你喜欢

热点阅读