Node.js 파일 작업 방법 요약_node.js
Node.js에도 다른 언어와 마찬가지로 파일 작업이 있습니다. node.js의 파일 작업에 대해서는 이야기하지 않겠습니다. 다른 언어의 파일 작업에는 일반적으로 열기, 닫기, 읽기, 쓰기, 파일 정보, 디렉터리 생성 및 삭제, 파일 삭제, 파일 경로 감지 등이 포함됩니다. node.js에서도 마찬가지입니다. API가 다른 언어와 다를 수도 있습니다.
1. 동기식 및 비동기식 열기 및 닫기
/** * Created by Administrator on 2016/3/21. */ var fs=require("fs"); //同步读 fs.openSync = function(path, flags, mode) //模块fs.js文件中如上面定义的openSync 函数3个参数 //.1.path 文件路径 //2.flags 打开文件的模式 //3.model 设置文件访问模式 //fd文件描述 var fd=fs.openSync("data/openClose.txt",'w'); //fs.closeSync = function(fd) fs.closeSync(fd); //异步读写 //fs.open = function(path, flags, mode, callback_) //fs.close = function(fd, callback) fs.open("data/openColse1.txt",'w',function(err,fd) { if (!err) { fs.close(fd,function(){ console.log("closed"); }); } });
플래그는 다른 언어에서도 발견됩니다. 실제로는 크게 r, w, a 세 부분으로 구분됩니다.
1.r - 파일을 읽기 전용 모드로 엽니다. 데이터 스트림의 초기 위치는 파일의 시작 부분에 있습니다.
2.r+ - 읽기-쓰기 모드로 파일을 엽니다. 데이터 스트림의 초기 위치는 파일의 시작 부분에 있습니다.
3.w - 파일이 존재하는 경우 파일 길이가 0으로 지워집니다. 즉, 파일 내용이 손실됩니다. 존재하지 않는 경우 새로 만들어 보십시오. 데이터 스트림의 초기 위치는 파일의 시작 부분입니다
4.w+ - 파일을 읽기-쓰기 모드로 엽니다. 파일이 없으면 생성을 시도합니다. 파일이 있으면 파일 길이를 0으로 설정합니다. 즉, 파일 내용이 손실됩니다. 데이터 스트림의 초기 위치는 파일의 시작 부분입니다
5.a - 파일을 쓰기 전용 모드로 엽니다. 파일이 없으면 생성을 시도합니다. 데이터 스트림의 초기 위치는 파일의 끝에 있습니다. 파일의 끝.
6.a+ - 읽기 및 쓰기를 위해 파일을 엽니다. 파일이 없으면 파일을 생성해 보세요. 데이터 스트림의 초기 위치는 파일의 끝에 있습니다. 파일.
2. 읽고 쓰기
1. 간단한 파일 읽기 및 쓰기
/** * Created by Administrator on 2016/3/21. */ var fs = require('fs'); var config = { maxFiles: 20, maxConnections: 15, rootPath: "/webroot" }; var configTxt = JSON.stringify(config); var options = {encoding:'utf8', flag:'w'}; //options 定义字符串编码 打开文件使用的模式 标志的encoding、mode、flag属性 可选 //异步 //fs.writeFile = function(path, data, options, callback_) //同步 //fs.writeFileSync = function(path, data, options) fs.writeFile('data/config.txt', configTxt, options, function(err){ if (err){ console.log("Config Write Failed."); } else { console.log("Config Saved."); readFile(); } }); function readFile() { var fs = require('fs'); var options = {encoding:'utf8', flag:'r'}; //异步 //fs.readFile = function(path, options, callback_) //同步 //fs.readFileSync = function(path, options) fs.readFile('data/config.txt', options, function(err, data){ if (err){ console.log("Failed to open Config File."); } else { console.log("Config Loaded."); var config = JSON.parse(data); console.log("Max Files: " + config.maxFiles); console.log("Max Connections: " + config.maxConnections); console.log("Root Path: " + config.rootPath); } }); }
"C:\Program Files (x86)\JetBrains\WebStorm 11.0.3\bin\runnerw.exe" F:\nodejs\node.exe SimpleReadWrite.js Config Saved. Config Loaded. Max Files: 20 Max Connections: 15 Root Path: /webroot Process finished with exit code 0
2. 동기식 읽기 및 쓰기
/** * Created by Administrator on 2016/3/21. */ var fs = require('fs'); var veggieTray = ['carrots', 'celery', 'olives']; fd = fs.openSync('data/veggie.txt', 'w'); while (veggieTray.length){ veggie = veggieTray.pop() + " "; //系统api //fd 文件描述 第二个参数是被写入的String或Buffer // offset是第二个参数开始读的索引 null是表示当前索引 //length 写入的字节数 null一直写到数据缓冲区末尾 //position 指定在文件中开始写入的位置 null 文件当前位置 // fs.writeSync(fd, buffer, offset, length[, position]); // fs.writeSync(fd, string[, position[, encoding]]); //fs.writeSync = function(fd, buffer, offset, length, position) var bytes = fs.writeSync(fd, veggie, null, null); console.log("Wrote %s %dbytes", veggie, bytes); } fs.closeSync(fd); var fs = require('fs'); fd = fs.openSync('data/veggie.txt', 'r'); var veggies = ""; do { var buf = new Buffer(5); buf.fill(); //fs.readSync = function(fd, buffer, offset, length, position) var bytes = fs.readSync(fd, buf, null, 5); console.log("read %dbytes", bytes); veggies += buf.toString(); } while (bytes > 0); fs.closeSync(fd); console.log("Veggies: " + veggies);
"C:\Program Files (x86)\JetBrains\WebStorm 11.0.3\bin\runnerw.exe" F:\nodejs\node.exe syncReadWrite.js Wrote olives 7bytes Wrote celery 7bytes Wrote carrots 8bytes read 5bytes read 5bytes read 5bytes read 5bytes read 2bytes read 0bytes Veggies: olives celery carrots Process finished with exit code 0
3. 비동기식 읽기 및 쓰기와 동기식 읽기 및 쓰기에는 거의 매개변수 콜백이 더 많습니다
/** * Created by Administrator on 2016/3/21. */ var fs = require('fs'); var fruitBowl = ['apple', 'orange', 'banana', 'grapes']; function writeFruit(fd){ if (fruitBowl.length){ var fruit = fruitBowl.pop() + " "; // fs.write(fd, buffer, offset, length[, position], callback); // fs.write(fd, string[, position[, encoding]], callback); // fs.write = function(fd, buffer, offset, length, position, callback) fs.write(fd, fruit, null, null, function(err, bytes){ if (err){ console.log("File Write Failed."); } else { console.log("Wrote: %s %dbytes", fruit, bytes); writeFruit(fd); } }); } else { fs.close(fd); ayncRead(); } } fs.open('data/fruit.txt', 'w', function(err, fd){ writeFruit(fd); }); function ayncRead() { var fs = require('fs'); function readFruit(fd, fruits){ var buf = new Buffer(5); buf.fill(); //fs.read = function(fd, buffer, offset, length, position, callback) fs.read(fd, buf, 0, 5, null, function(err, bytes, data){ if ( bytes > 0) { console.log("read %dbytes", bytes); fruits += data; readFruit(fd, fruits); } else { fs.close(fd); console.log ("Fruits: %s", fruits); } }); } fs.open('data/fruit.txt', 'r', function(err, fd){ readFruit(fd, ""); }); }
"C:\Program Files (x86)\JetBrains\WebStorm 11.0.3\bin\runnerw.exe" F:\nodejs\node.exe asyncReadWrite.js Wrote: grapes 7bytes Wrote: banana 7bytes Wrote: orange 7bytes Wrote: apple 6bytes read 5bytes read 5bytes read 5bytes read 5bytes read 5bytes read 2bytes Fruits: grapes banana orange apple Process finished with exit code 0
4. 스트리밍 읽기 및 쓰기
/** * Created by Administrator on 2016/3/21. */ var fs = require('fs'); var grains = ['wheat', 'rice', 'oats']; var options = { encoding: 'utf8', flag: 'w' }; //从下面的系统api可以看到 createWriteStream 就是创建了一个writable流 //fs.createWriteStream = function(path, options) { // return new WriteStream(path, options); //}; // //util.inherits(WriteStream, Writable); //fs.WriteStream = WriteStream; //function WriteStream(path, options) var fileWriteStream = fs.createWriteStream("data/grains.txt", options); fileWriteStream.on("close", function(){ console.log("File Closed."); //流式读 streamRead(); }); while (grains.length){ var data = grains.pop() + " "; fileWriteStream.write(data); console.log("Wrote: %s", data); } fileWriteStream.end(); //流式读 function streamRead() { var fs = require('fs'); var options = { encoding: 'utf8', flag: 'r' }; //fs.createReadStream = function(path, options) { // return new ReadStream(path, options); //}; // //util.inherits(ReadStream, Readable); //fs.ReadStream = ReadStream; // //function ReadStream(path, options) //createReadStream 就是创建了一个readable流 var fileReadStream = fs.createReadStream("data/grains.txt", options); fileReadStream.on('data', function(chunk) { console.log('Grains: %s', chunk); console.log('Read %d bytes of data.', chunk.length); }); fileReadStream.on("close", function(){ console.log("File Closed."); }); }
"C:\Program Files (x86)\JetBrains\WebStorm 11.0.3\bin\runnerw.exe" F:\nodejs\node.exe StreamReadWrite.js Wrote: oats Wrote: rice Wrote: wheat File Closed. Grains: oats rice wheat Read 16 bytes of data. File Closed. Process finished with exit code 0
개인적으로 이런 API는 한번 써보고 감을 잡으면 괜찮고, 막상 접했을 때 사용할 수 있으면 된다고 생각합니다.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











gho 파일은 NortonGhost 소프트웨어로 생성된 이미지 파일이며 운영 체제와 데이터를 백업하고 복원하는 데 사용됩니다. 어떤 경우에는 gho 파일을 삭제할 수 있지만 주의해서 삭제하십시오. 이번 글에서는 gho 파일의 역할, gho 파일 삭제 시 주의사항, gho 파일 삭제 방법에 대해 소개하겠습니다. 먼저 gho 파일의 역할을 이해해 봅시다. gho 파일은 전체 하드 디스크 또는 특정 파티션의 이미지를 저장할 수 있는 압축된 시스템 및 데이터 백업 파일입니다. 이러한 종류의 백업 파일은 일반적으로 응급 복구에 사용됩니다.

Go에서는 안전하게 파일을 읽고 쓰는 것이 중요합니다. 지침은 다음과 같습니다. 파일 권한 확인 지연을 사용하여 파일 닫기 파일 경로 유효성 검사 컨텍스트 시간 초과 사용 다음 지침을 따르면 데이터 보안과 애플리케이션의 견고성이 보장됩니다.

Go 언어는 파일 내용을 지우는 두 가지 방법, 즉 io.Seek 및 io.Truncate를 사용하거나 ioutil.WriteFile을 사용하는 방법을 제공합니다. 방법 1은 커서를 파일 끝으로 이동한 다음 파일을 자르는 것이고, 방법 2는 빈 바이트 배열을 파일에 쓰는 것입니다. 실제 사례에서는 이 두 가지 방법을 사용하여 Markdown 파일의 콘텐츠를 지우는 방법을 보여줍니다.

해결 방법: Java 파일 작업 오류: 파일 쓰기에 실패했습니다. Java 프로그래밍에서는 파일 작업이 필요한 경우가 많으며 파일 쓰기는 중요한 기능 중 하나입니다. 그러나 때때로 파일 쓰기 실패 오류가 발생하여 프로그램이 제대로 실행되지 않을 수 있습니다. 이 문서에서는 이러한 유형의 문제를 해결하는 데 도움이 되는 몇 가지 일반적인 원인과 해결 방법을 설명합니다. 잘못된 경로: 일반적인 문제는 잘못된 파일 경로입니다. 지정된 경로에 파일을 쓰려고 할 때 해당 경로가 존재하지 않거나 권한이 부족하면 파일이 쓰이게 됩니다.

Go 언어의 파일 작업 기능을 배우고 파일의 암호화, 압축, 업로드 및 다운로드 기능을 구현합니다. Go 언어는 효율적인 성능과 간결한 구문으로 개발 분야에서 널리 사용되는 언어입니다. Go 언어의 표준 라이브러리는 다양한 파일 작업 기능을 제공하므로 파일 읽기 및 쓰기, 암호화 및 압축, 업로드 및 다운로드가 매우 간단합니다. 이 기사에서는 Go 언어의 파일 작업 기능을 사용하여 파일 암호화, 압축, 업로드 및 다운로드 기능을 구현하는 방법을 소개합니다. 먼저 관련 세 가지 항목을 가져와야 합니다.

PHP는 웹 개발에 널리 사용되는 인기 있는 프로그래밍 언어입니다. 웹 애플리케이션에서 파일 작업은 기본적이고 일반적인 기능입니다. 이 기사에서는 PHP를 사용하여 CSV 파일을 읽고 HTML 테이블에 표시하는 방법을 설명합니다. CSV는 표 형식의 데이터를 Excel과 같은 스프레드시트 소프트웨어로 가져오는 데 사용되는 일반적인 파일 형식입니다. CSV 파일은 일반적으로 여러 줄로 구성되며 각 줄은 쉼표로 구분된 값으로 구성됩니다. 첫 번째 줄에는 일반적으로 각 열 값의 의미를 설명하는 열 머리글이 포함됩니다. 여기서는 PHP를 사용하겠습니다.

C++에서는 ofstream 클래스를 사용하여 파일의 지정된 위치에 콘텐츠를 삽입합니다. 파일을 열고 삽입 지점을 찾습니다. 사용

코드를 작성하여 PHP8에서 파일 작업 기술을 배우는 방법 PHP는 웹 개발에 널리 사용되는 스크립트 언어로 파일 읽기 및 쓰기, 디렉터리 만들기 등을 쉽게 수행할 수 있습니다. 개발자가 PHP의 파일 작업 기술을 익히는 것은 매우 중요합니다. 이 기사에서는 코드를 작성하여 PHP8에서 파일 작업 기술을 배우는 방법을 소개합니다. 1단계: PHP 개발 환경 설정 PHP 파일 작업 기술을 배우기 전에 먼저 PHP 개발 환경을 설정해야 합니다.
