龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > Javascript编程 >

Node.js文件操作详解_node.js(2)

时间:2014-08-25 11:04来源:网络整理 作者:网络 点击:
分享到:
如果解析结果不是绝对路径,path.resolve()会把当前工作目录作为路径附加到解析结果前面,比如: 复制代码 代码如下: path.resolve('wwwroot', 'static_files/png/',

如果解析结果不是绝对路径,path.resolve()会把当前工作目录作为路径附加到解析结果前面,比如:

复制代码 代码如下:

        path.resolve('wwwroot', 'static_files/png/', '../gif/image.gif');
        // 如果当前工作目录是/home/myself/node, 将返回
        // => /home/myself/node/wwwroot/static_files/gif/image.gif'

计算两个绝对路径的相对路径

path.relative()可以告诉你如果从一个绝对地址跳转到另外一个绝对地址,比如:

复制代码 代码如下:

                var path = require('path');

                path.relative('/data/orandea/test/aaa', '/data/orandea/impl/bbb');

                // => ../../impl/bbb

从路径提取数据

以路径“/foo/bar/myfile.txt”为例,如果你想获取父目录(/foo/bar)的所有内容,或者读取同级目录的其它文件,为此,你必须用path.dirname(filePath)获得文件路径的目录部分,比如:

复制代码 代码如下:

                   var path = require('path');

                   path.dirname('/foo/bar/baz/asdf/quux.txt');

                   // => /foo/bar/baz/asdf

 或者,你想从文件路径里得到文件名,也就是文件路径的最后那一部分,可以使用path.basename函数:
 

复制代码 代码如下:

                    var path = require('path');

                   path.basename('/foo/bar/baz/asdf/quux.html')

                   // => quux.html
 

文件路径里可能还包含文件扩展名,通常是文件名中最后一个“.”字符之后的那部分字符串。

path.basename还可以接受一个扩展名字符串作为第二个参数,这样返回的文件名就会自动去掉扩展名,仅仅返回文件的名称部分:

复制代码 代码如下:

                   var path = require('path');

                   path.basename('/foo/bar/baz/asdf/quux.html', '.html');

                   // => quux

 要想这么做你首先还得知道文件的扩展名,可以用path.extname()来获取扩展名:

复制代码 代码如下:

                   var path = require('path');

                   path.extname('/a/b/index.html');

                   // => '.html'

                   path.extname('/a/b.c/index');

                   // => ''

                   path.extname('/a/b.c/.');

                   // => ''

                   path.extname('/a/b.c/d.');

                   // => '.'

检查路径是否存在

精彩图集

赞助商链接