nodejs——path模块

nodejs中有一组流API,连续处理文件非常方便,但是不能在指定位置进行读写。文件描述符句柄在nodejs中也是一个整数,文件描述符在形式上是一个非负整数。实际上,它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表。当程序打开一个现有文件或者创建一个新文件时,内核向进程返回一个文件描述符。有3个特殊的文件描述符――1、2和3。他们分别代表标准输入,标准输出和标准错误文件描述符。标准输入,顾名思义,是个只读流,进程用它来从控制台或者进程通道读取数据。标准输出和标准错误是仅用来输出数据的文件描述符,他们经常被用来向控制台,其它进程或文件输出数据。标准错误负责错误信息输出,而标准输出负责普通的进程输出。在nodejs中,即可以创建只能向尾部追加数据的文件,还可以创建读写随机位置的文件。

文件路径分为相对路径和绝对路径两种,用它们来表示具体的文件。你可以合并文件路径,可以提取文件名信息,甚至可以检测文件是否存在。Node里,可以用字符串来操处理文件路径,但是那样会使问题变复杂。一般使用path模块,可以帮你标准化,连接,解析路径,从绝对路径转换到相对路径,从路径中提取各部分信息,检测文件是否存在。

path模块的normalize函数来标准化一个路径。path.normalize('/foo/bar//baz/asdf/quux/..');// => '/foo/bar/baz/asdf'

path.join()函数,可以连接任意多个路径字符串,只用把所有路径字符串依次传递给join()函数,path.join()内部会自动将路径标准化。

path.resolve()可以把多个路径解析为一个绝对路径。它的功能就像对这些路径挨个不断进行“cd”操作,和cd命令的参数不同,这些路径可以是文件,并且它们不必真实存在,不存在会把当前工作目录作为路径附加到解析结果前面。

path.relative()可以计算两个绝对路径的相对路径。

用path.dirname(filePath)获得文件路径的目录部分。

用path.basename函数获取文件路径的最后那一部分。path.basename还可以接受一个扩展名字符串作为第二个参数,这样返回的文件名就会自动去掉扩展名,仅仅返回文件的名称部分。

用path.extname()来获取扩展名。

path.exists()是个I/O操作,因为它是异步的,因此需要一个回调函数,当I/O操作返回后调用这个回调函数,并把结果传递给它。你还可以使用它的同步版本path.existsSync(),从Node0.8版本开始,exists从path模块移到了fs模块,变成了fs.exists,除了命名空间不同,其它都没变。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • path(路径) path是nodejs的模块,提供了一些工具函数,用于处理文件与目录的路径使用方法 path模块...
    coolheadedY阅读 8,048评论 0 0
  • https://nodejs.org/api/documentation.html 工具模块 Assert 测试 ...
    KeKeMars阅读 11,509评论 0 6
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,404评论 19 139
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 14,187评论 2 33
  • 6月22日,星期四,下雨天 今天朋友圈互动10人,点赞20人,回访老顾客5人,一人发来黑膜反馈,一人回复说CC用完...
    张于阅读 1,098评论 0 0