zoukankan      html  css  js  c++  java
  • fs输出文件目录

    var http = require("http");
    var fs = require("fs");
    
    var server = http.createServer(function(req,res){
        //不处理小图标
        if(req.url == "/favicon.ico"){
            return;
        }
        //存储所有的文件夹
        var wenjianjia = [];
        //stat检测状态
        fs.readdir("./album",function(err,files){
            //files是个文件名的数组,并不是文件的数组,表示./album这个文件夹中的所有东西
            //包括文件、文件夹
            for(var i = 0 ; i < files.length ;i++){
                var thefilename = files[i];
                //又要进行一次检测
                fs.stat("./album/" + thefilename , function(err,stats){
                    //如果他是一个文件夹,那么输出它:
                    if(stats.isDirectory()){
                        wenjianjia.push(thefilename);
                    }
                    console.log(wenjianjia);
                });
            }
        });
    });
    
    server.listen(3000,"127.0.0.1");

     异步变同步读取

    var http = require("http");
    var fs = require("fs");
    
    var server = http.createServer(function(req,res){
        //不处理收藏夹小图标
        if(req.url == "/favicon.ico"){
            return;
        }
        //遍历album里面的所有文件、文件夹
        fs.readdir("./album/",function(err,files){
            //files : ["0.jpg","1.jpg" ……,"aaa","bbb"];
            //files是一个存放文件(夹)名的数组
            //存放文件夹的数组
            var wenjianjia = [];
            //迭代器就是强行把异步的函数,变成同步的函数
            //1做完了,再做2;2做完了,再做3
            (function iterator(i){
                //遍历结束
                if(i == files.length){
                    console.log(wenjianjia);
                    return;
                }
                fs.stat("./album/" + files[i],function(err,stats){
                    //检测成功之后做的事情
                    if(stats.isDirectory()){
                        //如果是文件夹,那么放入数组。不是,什么也不做。
                        wenjianjia.push(files[i]);
                    }
                    iterator(i+1);
                });
            })(0);
        });
        res.end();
    });
    
    server.listen(3000,"127.0.0.1");
  • 相关阅读:
    力扣3. 无重复字符的最长子串
    力扣724. 寻找数组的中心索引
    力扣105. 从前序与中序遍历序列构造二叉树
    力扣541. 反转字符串 II
    力扣496. 下一个更大元素 I
    力扣129. 求根到叶子节点数字之和
    力扣628. 三个数的最大乘积
    力扣415. 字符串相加
    力扣409. 最长回文串
    力扣404. 左叶子之和
  • 原文地址:https://www.cnblogs.com/Erick-L/p/7764702.html
Copyright © 2011-2022 走看看