Tre*_*ham 5 javascript file-io node.js
给定两个绝对路径或相对路径,A并且B,我想知道是否B"在目录内" A- 不仅仅是在目录本身中,而是可能在子目录中.我想这样做,没有潜在的大量fs.readdir电话.
举例来说,如果A是/和B是/foo/bar/baz,它应该是很明显,B就是内A; 递归readdir方法效率极低.
一个明显的想法是将两个路径转换为绝对形式,然后检查B绝对路径的字符串形式是否以字符串形式开头A.但是,有两个问题:
我会接受调用Linux实用程序的答案(除了rm -rf...... 技术上可用于解决问题)或第三方节点库.
var fs = require('fs');
var a = fs.realpathSync('/home/mak/www'); // /var/www
var b = fs.realpathSync('/var/www/test/index.html');
var b_in_a = b.indexOf(a) == 0;
var a_is_dir = fs.statSync(a).isDirectory();
Run Code Online (Sandbox Code Playgroud)
fs.*Sync也有异步版本,请参阅fs模块.
fs.realpathSync并且fs.statSync,如果路径不存在将抛出.
| 归档时间: |
|
| 查看次数: |
4163 次 |
| 最近记录: |