基于 Node.js 的文件管理系统(附源码)

fs 模块简介

Node.js 提供一组可用于与文件系统进行交互(以类似于标准 POSIX 函数的方式)的模块 fs 。 使用方式:

const fs = require('fs');

所有的文件系统操作都具有同步的、回调的、以及基于 promise 的形式。

示例

同步

同步的形式会阻塞 Node.js 事件循环和进一步的 JavaScript 执行,直到操作完成。 异常会被立即地抛出,可以使用 try…catch 处理,也可以冒泡。

const fs = require('fs');

try {
   
  fs.unlinkSync('文件');
  console.log('已成功删除文件');
} catch (err) {
   
  // 处理错误
}
回调

异步的形式总是把完成回调作为其最后一个参数。 传给完成回调的参数取决于具体方法,但第一个参数总是预留给异常。 如果操作被成功地完成,则第一个参数会为 null 或 undefined。(插播一条广告:需要开通正版WebStorm的可以联系我,56元一年,正版授权激活,官网可查有效期,有需要的加我微信:poxiaozhiai6,备注:914。)

const fs = require('fs');

fs.unlink('文件', (err) => {
   
  if (err) throw err;
  console.log('已成功删除文件');
});
Promise

基于 promise 的操作会返回 Promise(当异步操作完成时被解决)。

const fs = require('fs');

(async function(path) {
   
  try {
   
    await fs.unlink(path);
    console.log(`已成功删除 ${
     path}`);
  } catch (error) {
   
    console.error('出错:', error.message);
  }
})('文件');

文件管理系统

在这里插入图片描述

该示例是基于 nodejs 的一套UI可视化文件管理系统,提供一些常用文件(夹)操作,包含文件(夹) 读取、创建、拷贝、移动、删除、重命名

文件操作

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bmM9fpOi-1663156319303)(./doc/actions.png)]

读取文件

可读取到文件大小、名称、类型、创建时间、修改时间等。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jIv7Zbsq-1663156319304)(./doc/details.png)]

const readfile = async (dir, filename) => {
   
  const fullname = fixpath(`${
     dir}/${
     filename}`);
  if (!fs.existsSync(fullname)) {
   
    throw Error(`[${
     fullname}] 文件或文件夹不存在!`);
  }
  const stats = await fs.statSync(fullname);
  if (stats.isFile()) {
   
    return {
   
      dir,
      filename,
      type: filename.split('.').slice(-1)[0],
      size: stats.size,
      mtime: stats.mtime,
      birthtime: stats.birthtime,
    };
  } else if (stats.isDirectory()) {
   
    return {
   
      dir,
      filename,
      type: 'dir',
      size: stats.size,
      mtime: stats.ctime
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
javascript写的windows资源管理器<br>解压运行scripting.html,在IE6.0中打开(不能单独打开view.html这是一个子页面,必须由父页面调用)即可。<br>首发地址为51aspx<br>该源码在www.51aspx.com发布<br>本javascript程序是我自己利用业余时间做的,主要是编写javascript进一步对其进行控制。<br>因为时间的关系只提供了局部份功能,还有很多代码和函数都没有进行优化,(注释也较少)比如错误处理,浏览器嗅探等。<br>这里需要说明的是很少用到了innerHTML和innerTEXT两个方法,这是微软提供的专利方法,还没有得到W3C的认可,<br>在别的浏览器里面这两个方法不一定会被支持。<br>所以很多地方是用了DOM的方式进行处理。<br>首次的功能有:<br>1.查看磁盘,显示磁盘各种信息,显示磁盘占用率(图片)。<br>2.查看文件夹,文件,运行文件。<br>功能不是最重要的,本功能在windows资源管理器都能轻易做到,相信没人用这个做资源管理器吧,呵呵~~<br>主要是为了让javascript,DOM,CSS良好的呈现一种网页组织,真正的使<br>“结构”,“行为”,“样式”三者在(x)html里面完全分离开来。<br>着重使用了DOM模型编程。<br>javascript方面主要就是程序设计与功能的实现,主要还是用到了Scripting组件。<br>CSS就随便写了一点,反正2个页面,不过用的都是常用的一些属性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值