var fs = require('fs');
var _ = require('lodash')
// 打开一个文本文件  返回文件流
print(fs.openFile('./test.md', 'ra')) 

// 打开一个二进制文件  返回文件流
print(fs.openRawFile('./test.md', 'ra'))  

// 更改文件权限 返回布尔值 linux文件权限 777
print(fs.chmod('./test.md', 777) ) 

// 复制文件 文件路径 目标路径 是否覆盖
print(fs.copyFile('./test.md', './copy/test.md')) 

// 判断文件或者文件夹是否存在
print(fs.exists('./test.md'));
print(fs.exists('./copy2'));

// 只判断文件  &&  只判断文件夹
// fs.fileExists  fs.dirExists

// 创建硬链接  return boolean
print(fs.link('./test.md','./copy/test.md'))

// 获取文件信息
console.log(fs.stat('./test.md'))

// 创建文件夹
fs.mkdir('./temp')

// 获取文件绝对路径
print(fs.realpath('./test.md')) 

// 重命名或者移动  old   new   boolean 是否覆盖
fs.rename('./test2.md','./temp/test.md')

// 删除文件夹 path  boolean默认空文件删除 true强制删除
fs.rmdir('./dele', true)

// 删除文件
fs.unlink('./haha.md')

// 获取文件夹下的文件信息列表 dirpath 递归查找级别 -1表示无限 表示子文件不会的key
var filelist = fs.listDir('../fs')
for(i=0;i<filelist.length;i++){
    print(_.toString(filelist[i]))
}

// 读取文本文件的内容
print("读取文本文件的内容")
print(fs.readFile('./test.md')) 

// 写入 go go go
fs.writeFile('./test.md','\ngo!go!go!',{
    encoding:'UTF-8', 
    append:true, 
    withbom:false
})

// 获取操作系统临时目录
print(fs.tmpdir())

// 获取操作系统当前用户HOME目录
print(fs.homedir())