虽然Node.js在国内还不算火热,但因为Java的各种简单问题复杂化,慢慢的让我喜欢上这个语言(或者说是引擎)。
注:以下Node即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优点:完全免费,后期实现开源,高效,高性能,持续维护。