Node.js의 파일 읽기
Node.js의 파일을 읽는 것이 상당히 어렵습니다.
fs.open('./start.html', 'r', function(err, fileToRead){
if (!err){
fs.readFile(fileToRead, {encoding: 'utf-8'}, function(err,data){
if (!err){
console.log('received data: ' + data);
response.writeHead(200, {'Content-Type': 'text/html'});
response.write(data);
response.end();
}else{
console.log(err);
}
});
}else{
console.log(err);
}
});
파일start.html
파일을 열고 읽으려는 파일과 동일한 디렉토리에 있습니다.
그러나 콘솔에서 다음과 같이 표시됩니다.
[오류: ENOENT, '/start.html' 열기] 오류: 34, 코드: 'ENOENT', 경로: '/start.html' }
아이디어 있어요?
사용하다path.join(__dirname, '/start.html')
;
var fs = require('fs'),
path = require('path'),
filePath = path.join(__dirname, 'start.html');
fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
if (!err) {
console.log('received data: ' + data);
response.writeHead(200, {'Content-Type': 'text/html'});
response.write(data);
response.end();
} else {
console.log(err);
}
});
dc5 덕분에.
노드 0.12를 사용하면 이제 동기화할 수 있습니다.
var fs = require('fs');
var path = require('path');
// Buffer mydata
var BUFFER = bufferFile('../public/mydata.png');
function bufferFile(relPath) {
return fs.readFileSync(path.join(__dirname, relPath)); // zzzz....
}
fs
파일 시스템입니다.readFileSync()는 버퍼 또는 요청 시 문자열을 반환합니다.
fs
상대 경로가 보안 문제라고 올바르게 가정합니다. path
해결 방법입니다.
문자열로 로드하려면 인코딩을 지정합니다.
return fs.readFileSync(path,{ encoding: 'utf8' });
.A 동기화의 경우:
var fs = require('fs');
fs.readFile(process.cwd()+"\\text.txt", function(err,data)
{
if(err)
console.log(err)
else
console.log(data.toString());
});
.동기화의 경우:
var fs = require('fs');
var path = process.cwd();
var buffer = fs.readFileSync(path + "\\text.txt");
console.log(buffer.toString());
노드와의 간단한 동기화 방법:
let fs = require('fs')
let filename = "your-file.something"
let content = fs.readFileSync(process.cwd() + "/" + filename).toString()
console.log(content)
이 코드를 실행하면 파일에서 데이터를 가져와 콘솔에 표시됩니다.
function fileread(filename)
{
var contents= fs.readFileSync(filename);
return contents;
}
var fs =require("fs"); // file system
var data= fileread("abc.txt");
//module.exports.say =say;
//data.say();
console.log(data.toString());
다음을 사용하여 서버에서 html 파일을 읽으려면http
모듈.이것은 서버에서 파일을 읽는 한 가지 방법입니다.콘솔에서 가져오려면 제거하기만 하면 됩니다.http
모듈 선언.
var http = require('http');
var fs = require('fs');
var server = http.createServer(function(req, res) {
fs.readFile('HTMLPage1.html', function(err, data) {
if (!err) {
res.writeHead(200, {
'Content-Type': 'text/html'
});
res.write(data);
res.end();
} else {
console.log('error');
}
});
});
server.listen(8000, function(req, res) {
console.log('server listening to localhost 8000');
});
<html>
<body>
<h1>My Header</h1>
<p>My paragraph.</p>
</body>
</html>
디렉터리 내에서 파일을 읽고 작업하는 방법을 알고 싶다면 여기 있습니다.명령을 실행하는 방법도 보여줍니다.power shell
이것은TypeScript
나는 이것 때문에 어려움을 겪었고, 나는 이것이 언젠가 누군가에게 도움이 되기를 바랍니다.이것이 나에게 해준 것은webpack
나의 모든.ts
배포 준비를 위해 특정 폴더 내의 각 디렉터리에 있는 파일.그것을 사용할 수 있기를 바랍니다!
import * as fs from 'fs';
let path = require('path');
let pathDir = '/path/to/myFolder';
const execSync = require('child_process').execSync;
let readInsideSrc = (error: any, files: any, fromPath: any) => {
if (error) {
console.error('Could not list the directory.', error);
process.exit(1);
}
files.forEach((file: any, index: any) => {
if (file.endsWith('.ts')) {
//set the path and read the webpack.config.js file as text, replace path
let config = fs.readFileSync('myFile.js', 'utf8');
let fileName = file.replace('.ts', '');
let replacedConfig = config.replace(/__placeholder/g, fileName);
//write the changes to the file
fs.writeFileSync('myFile.js', replacedConfig);
//run the commands wanted
const output = execSync('npm run scriptName', { encoding: 'utf-8' });
console.log('OUTPUT:\n', output);
//rewrite the original file back
fs.writeFileSync('myFile.js', config);
}
});
};
// loop through all files in 'path'
let passToTest = (error: any, files: any) => {
if (error) {
console.error('Could not list the directory.', error);
process.exit(1);
}
files.forEach(function (file: any, index: any) {
let fromPath = path.join(pathDir, file);
fs.stat(fromPath, function (error2: any, stat: any) {
if (error2) {
console.error('Error stating file.', error2);
return;
}
if (stat.isDirectory()) {
fs.readdir(fromPath, (error3: any, files1: any) => {
readInsideSrc(error3, files1, fromPath);
});
} else if (stat.isFile()) {
//do nothing yet
}
});
});
};
//run the bootstrap
fs.readdir(pathDir, passToTest);
var fs = require('fs');
var path = require('path');
exports.testDir = path.dirname(__filename);
exports.fixturesDir = path.join(exports.testDir, 'fixtures');
exports.libDir = path.join(exports.testDir, '../lib');
exports.tmpDir = path.join(exports.testDir, 'tmp');
exports.PORT = +process.env.NODE_COMMON_PORT || 12346;
// Read File
fs.readFile(exports.tmpDir+'/start.html', 'utf-8', function(err, content) {
if (err) {
got_error = true;
} else {
console.log('cat returned some content: ' + content);
console.log('this shouldn\'t happen as the file doesn\'t exist...');
//assert.equal(true, false);
}
});
언급URL : https://stackoverflow.com/questions/18386361/read-a-file-in-node-js
'programing' 카테고리의 다른 글
이중 따옴표를 기본 따옴표 형식으로 사용하여 파이썬 사전을 만드는 방법은 무엇입니까? (0) | 2023.05.26 |
---|---|
VBA를 통해 Range 클래스의 선택 방법이 실패했습니다. (0) | 2023.05.26 |
괄호(원괄호) 사이에 있는 텍스트를 추출하려면 어떻게 해야 합니까? (0) | 2023.05.26 |
장고에서 Json Response의 상태를 변경하는 방법. (0) | 2023.05.26 |
VB.NET null 병합 연산자? (0) | 2023.05.26 |