Node.js学习之路——获取文件名-文件名提取

虽然Node.js在国内还不算火热,但因为Java的各种简单问题复杂化,慢慢的让我喜欢上这个语言(或者说是引擎)。

注:以下Node即Node.js的简写。

Node.js学习之路——获取文件名

Node.js

配置一个Node运行环境和构建一个项目比Java简单很多。就目前而言,Node的性能、并发等等能力都不会太差。我不敢说大项目是否该用Node而不是Java(或其它语言)。但是我敢保证,中小项目用Node是一个很好的选择。快速搭建与快速开发就是它的优势。

说正文之前,先说一下缺点吧,不然很多读者看到正文后想杀人。我个人觉得语法就是最大的缺点,Node的语法用的是ES6标准(也就是较新版的Javascript,最新的是ES7)。语法的与Java比,有过之而无不及,与Python比就是需要过多的符号分割,没有Python那种整洁与优雅。其次就是Debug能力,这个是从开始到现在一直为人诟病的地方。报错信息虽然比较详细,但是Debug时候很难下手。缺点大致就这两个,可能还有其它小问题,但一般不影响开发。

正文开始,今天要讲的是如何获取文件名。

引入系统包

//用于操作文件/文件夹路径

const path = require('path');

1.使用path.basename 方法

//path.basename 方法源码

posix.basename = function(path, ext) {

...

return fileName;

};

path.basename(文件路径[,拓展名]) => 返回文件名;

例子一:console.log(path.basename('E:/package.json')); Returns: 'package.json';

例子二:console.log(path.basename('E:/package.json', '.json')); Returns: 'package';

2.使用path.parse 方法

//path.parse 方法源码

posix.parse = function(pathString) {

...

return {

root: 根路径(windows的盘符),

dir: 所有文件夹路径,

base: 文件名(包含拓展名),

ext: 文件拓展名,

name: 文件名(不包含拓展名)

};

};

path.parse(文件路径) => 返回文件路径解析对象;

例子:console.log(path.parse('E:/package.json').base); Returns: 'package.json';

3.使用字符串截取方法

//类似的方法有 String.substr(start,length), String.substring(start, end);

//String.substr 方法源码

String.substr = function(start, length) {

...

return str;

};

源字符串.substr(开始截取位置[,截取长度(默认为字符串总长度)]) => 返回目标字符串;

例子:console.log('E:/package.json'.substr('E:/package.json'.lastIndexOf('/') + 1, 'E:/package.json'.length)); Returns: 'package.json';

如想了解更多编程技术,请关注我的头条号。谢谢大家!

我的个人网站

https://www.changeden.net

我的Github

https://github.com/ChangedenCZD

上一期说到了我最近在憋大招,今天开始要放出来了,请留意以下内容:

这是一个动态字段数据库,直接通过简单的Api调用,即可完成以往繁琐的建表与手动增删字段的操作。

相关教程: https://bunnydb.changeden.net

BunnyDB优点:完全免费,后期实现开源,高效,高性能,持续维护。

推荐阅读