nj10---文件读取

介绍:fs模块是文件操作的封装,它提供了文件的读取,写入,更名,删除,遍历目录,链接POSIX文件系统操作。与其他模块不同的是,fs模块中所有的操作都提供了异步和同步两个版本,例如读取文件内容函数异步方法:readFile(),同步方法readFileSync()。
一、fs.readFile(filename,[encoding],[callback(err,data)])是最简单的读取文件的函数。
        参数:filename:读取的文件名。
                    encoding     文件的字符编码 ANSI
                    callback     回调函数提供两个参数err和data,err表示有没有错误发生,data是文件内容。如果指定了encoding,data是一个解析后的字符串,否则将会以buffer形式表示的二进制数据。
         案例:readFile.js
二、fs.readFileSync(filename,[encoding])
        同步读取文件它棘手的参数和fs。readFile相同,而读取到的文件内容会以函数返回值的形式返回,如果有错误发生,fs将抛出异常,你需要try和catch捕获并处理异常
三、fs.open(path,flags,[mode],[callback(err,fd)])是POSIXopen函数的封装,与C语言标准库中的fopen函数类似,它接受两个必选参数,
path为文件路径,
flags可以为以下值:
    r:以读取模式打开文件
    r+:以读写模式打开文件
    w:以写入模式打开文件,如果文件不存在则创建
    w+:以读写模式打开文件,如果文件不存在则创建
    a:以追加模式打开文件,如果文件不存在则创建。
    a+:以读取追加模式打开文件,如果不存在则创建。
 mode:用于创建文件时给文件指定权限,默认是0666,回调函数将会传递一个文件描述符fd
        0666:文件权限值POSIX系统中对文件读取和访问权限的规范,通常用八进制数表示,如:0754标识文件所有者权限是7(读,写,执行),同组用户权限是5(读,执行)其他用户的权限是4(读)。
         fd:文件描述是一个非负整数,表示操作系统内核为当前进程所维护的打开文件的记录表索引。
   四、fs.read(fd,buffer,offset,length,position,[callback(err,bytesRead,buffer)])是POSIX中read函数的封装,相比readFile提供了更底层的接口。从指定的文件描述fd中读取数据并写入
            fd:指定的文件描述
            offset是buffer的写入偏量值
            buffer指向的缓存区对象。
            length:读取的字节数
            position:文件读取的起始数,如果为null,则从当前文件指针读取。
            回调函数传递err,bytesRead和buffer,分别标识读取的字节数和缓冲区对象。
     API地址:http://nodejs.org/api/fs.html
//引入fs模块
 var fs=require(‘fs‘);
//调用读取文件方法
fs.readFile(‘content.txt‘,function(err,data){
    if(err){
        console.log(err);
    }else{
        console.log(data);//<Buffer ef bb bf e6 e4 bb b6 e3 80 82>
    }
});
fs.readFile(‘content.txt‘,‘UTF-8‘,function(err,data){
    if(err){
        console.log(err);
    }else{
        console.log(data);//我是一个文本文件。
    }
});

try{
    var data=fs.readFileSync(‘content.txt‘,‘UTF-8‘);
    console.log(data+"dddd");//我是一个文本文件。dddd

}catch(e){
    console.log(e)
}
var fs=require(‘fs‘);
fs.open(‘content.txt‘,‘r‘,function(err,fd){
    if(err){
        console.log(err);
        return;
    }

    var buf=new Buffer(8);
    fs.read(fd,buf,0,8,null,function(err,bytesRead,buffer){
        if(err){
            console.log(err);
            return;
        }
        console.log(‘bytesRead   ‘+bytesRead);
        console.log(buffer);
    });
})
时间: 2024-10-05 13:15:55

nj10---文件读取的相关文章

java文件读取

java文件读取 刚开始用java,作为之前C语言的重度使用者,发现以前熟悉的文件读取file.read()在java.io.File类里找不到了.替代之的是java.io.InputStream, InputStream为一个I/O操作的抽象类,其中FileInputStream:read实现了读取文件的方法 File f = new File(fileName); InputStream in = new FileInputStream(f); byte data[] = new byte[

html外部文件读取/写入

1.文件的读取 外部文件读取控件: <input type="file" id="file_jquery" onchange="file_jquery(this.id)"/> 调用函数: function file_jquery(id){ var a = $("#"+id); var selectedFile = $("#"+id)[0].files[0]; console.log(a); co

字符串,字典,数组写入本地文件和从本地文件读取

参考:http://blog.csdn.net/hakusan/article/details/39429393?utm_source=tuicool&utm_medium=referral 一.字符串,字典,数组存储到本地文件 字符串,数组,字典存储到本地文件过程一样,只是要存储的数据类型不同而已,这里以字符串存储到本地文件为例,如下:    NSString *content = @"将字符串存储到本地文件";    (1)获取Documents文件夹路径 参数:(1)指定

【学习ios之路:UI系列】iOS沙盒机制,文件读取,归档与反归档

1.IOS中的沙盒机制 IOS中的沙盒机制是一种安全体系,它规定了应用程序只能在为该应用创建的文件夹内读取文件,不可以访问其他地方的内容.所有的非代码文件都保存在这个地方,比如图片.声音.属性列表和文本文件等. 特点: 1.每个应用程序都在自己的沙盒内 2.不能随意跨越自己的沙盒去访问别的应用程序沙盒的内容 3.应用程序向外请求或接收数据都需要经过权限认证 每个沙盒含有3个文件夹:Documents, Library 和 tmp.Library包含Caches.Preferences目录.如下图

Java文件读取大全

在此本人只搜集了四种文件读取的方法,分别是:按字节读取文件内容.按字符读取文件内容.按行读取文件内容.随机读取文件内容 以及给文件追加内容: 废话不多说,直接贴代码,希望能帮到一些人!如果有看不懂的可以加我QQ592652578,详聊. public class ReadFromFile {    1.按字节读取文件内容 /** * 以字节为单位读取文件,常用于读二进制文件,如图片.声音.影像等文件. */ public static void readFileByBytes(String fi

文件读取与输入

/* *程序的版权和版本声明部分: *Copyright(c)2014,烟台大学计算机学院学生 *All rights reserved. *文件名称: *作者:马广明 *完成日期:2014 年 6 月 3 日 *版本号:v1.0 *输入描述: 无 *问题描述:读入不超过500人的工资数据,进行排序,并输出到文件 *程序输出:排序后的工资 *问题分析: *算法设计: */ #include <iostream> #include <fstream> #include <cst

审计 6 SSRF和任意文件读取

1 <?php 2 error_reporting(0); 3 session_start(); 4 header("Content-type:image/jpeg"); 5 echo file_get_contents($_SESSION['avatar']); 6 ?> 在第5行发现    读取的文件后,将文件进行了输出.  所以猜测此处可能存在SSRF 和  任意文件读取 搜索关键变量$_SESSION['avatar']  发现在登陆 和修改密码 读取了改变量,而上

关于文件读取的一些小知识

总所周知,input有一属性type='file',然而我们怎么读取,用户上传的信息呢? 下面是我总结的一些步骤: 1.获取file對象 var file=document.querySelector('input');2.設置change事件 file.onchange=function(){ 3.获取file的资源 var list=this.files; 4.创建读取器 var reader=new FileReader(); 5.开始读取文件    readAsDataURL() 方法

文件读取(filestream)

在stream中已经介绍过,文件读取应用filestream,其是以字节为单位读取文件的.在操作中,当应用filestream创建文件流,读取时应先定义一个字节数组,在转化成char类型,最后转化成string类型.我们其实可以通过streamreader/writer类来直接读取字符串.在此简单介绍一下,流的读取方式除了创建流类中自定义的read/write方法(通过byte类型进行),也可以通过其他读取类进行读取.streamreader/writer类,binaryread/write以及

任意文件读取与下载

0x00 背景介绍 一些网站的业务需要,可能提供文件查看或下载的功能,如果对用户查看或下载的文件不做限制,就能够查看或下载任意的文件,可以是源文件,敏感文件等等 0x01 文件读取 文件读取在PHP这种可以有很多种方式实现,在web的默认情况下,$filename变量可能用户可控 <?php $filename = $_GET['f']; echo file_get_contents($filename); ?> #当变量 $filename 没有经过校验,或者校验不严格,用户可以控制这个变量