本文整理汇总了TypeScript中fs.fstatSync函数的典型用法代码示例。如果您正苦于以下问题:TypeScript fstatSync函数的具体用法?TypeScript fstatSync怎么用?TypeScript fstatSync使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了fstatSync函数的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: it
it('fs.write should work with util.promisify', (done: DoneFn) => {
const promisifyWrite = util.promisify(write);
const dest = __filename + 'write';
const fd = openSync(dest, 'a');
const stats = fstatSync(fd);
const chunkSize = 512;
const buffer = new Buffer(chunkSize);
for (let i = 0; i < chunkSize; i++) {
buffer[i] = 0;
}
// fd, buffer, offset, length, position, callback
promisifyWrite(fd, buffer, 0, chunkSize, 0)
.then(
(value) => {
expect(value.bytesWritten).toBe(chunkSize);
closeSync(fd);
unlinkSync(dest);
done();
},
err => {
closeSync(fd);
unlinkSync(dest);
fail(`should not be here with error: ${error}.`);
});
});
示例2: open
protected open(filename: string): number {
let fd = fs.openSync(filename, "r");
this.fileMap[fd] = {
size: fs.fstatSync(fd).size,
pos: 0,
name: filename,
};
return fd;
}
示例3: setTimeout
fs.stat(LOG_FILE, (err, stat) => {
if (err && !err.message.startsWith("ENOENT:")) throw err;
if (!(stat && stat.dev === logStat.dev && stat.ino === logStat.ino)) {
logStream.end();
logStream = fs.createWriteStream(null, {
fd: fs.openSync(LOG_FILE, "a")
});
logStat = fs.fstatSync(logStream.fd);
}
if (--counter === 0)
setTimeout(reopen, REOPEN_EVERY - (Date.now() % REOPEN_EVERY)).unref();
});
示例4: init
export function init(service, version): void {
defaultMeta.hostname = os.hostname();
defaultMeta.pid = process.pid;
defaultMeta.name = `genieacs-${service}`;
defaultMeta.version = version;
LOG_FILE = config.get(`${service.toUpperCase()}_LOG_FILE`);
ACCESS_LOG_FILE = config.get(`${service.toUpperCase()}_ACCESS_LOG_FILE`);
if (LOG_FILE) {
logStream = fs.createWriteStream(null, { fd: fs.openSync(LOG_FILE, "a") });
logStat = fs.fstatSync(logStream.fd);
}
if (ACCESS_LOG_FILE) {
accessLogStream = fs.createWriteStream(null, {
fd: fs.openSync(ACCESS_LOG_FILE, "a")
});
accessLogStat = fs.fstatSync(accessLogStream.fd);
}
// Determine if logs are going to journald
const JOURNAL_STREAM = process.env["JOURNAL_STREAM"];
if (JOURNAL_STREAM) {
const [dev, inode] = JOURNAL_STREAM.split(":").map(parseInt);
LOG_SYSTEMD = logStat.dev === dev && logStat.ino === inode;
ACCESS_LOG_SYSTEMD =
accessLogStat.dev === dev && accessLogStat.ino === inode;
}
if (LOG_FILE || ACCESS_LOG_FILE)
// Can't use setInterval as we need all workers to cehck at the same time
setTimeout(reopen, REOPEN_EVERY - (Date.now() % REOPEN_EVERY)).unref();
}
示例5: openSync
import { openSync, readSync, fstatSync, Stats } from 'fs';
let fileDescriptor: number;
try {
fileDescriptor = openSync('hello.txt', 'r');
} catch (err) {
console.log(`Couldn't open: ${err.message}`);
process.exit(1);
}
let stat: Stats;
try {
stat = fstatSync(fileDescriptor);
} catch (err) {
console.log(`Couldn't get stat: ${err.message}`);
process.exit(1);
}
const buffer = Buffer.alloc(stat.size);
try {
readSync(fileDescriptor, buffer, 0, stat.size, null);
} catch (err) {
console.log(`Couldn't read: ${err.message}`);
process.exit(1);
}
let data: string;
try {
data = buffer.toString();
} catch (err) {
示例6: reopen
/* eslint-disable-next-line @typescript-eslint/no-namespace */
namespace NodeJS {
export interface WritableStream {
fd?: number;
}
}
}
declare module "fs" {
interface WriteStream {
fd?: number;
}
}
let logStream = fs.createWriteStream(null, { fd: process.stderr.fd });
let logStat = fs.fstatSync(logStream.fd);
let accessLogStream = fs.createWriteStream(null, { fd: process.stdout.fd });
let accessLogStat = fs.fstatSync(accessLogStream.fd);
// Reopen if original files have been moved (e.g. logrotate)
function reopen(): void {
let counter = 1;
if (LOG_FILE) {
++counter;
fs.stat(LOG_FILE, (err, stat) => {
if (err && !err.message.startsWith("ENOENT:")) throw err;
if (!(stat && stat.dev === logStat.dev && stat.ino === logStat.ino)) {
logStream.end();
logStream = fs.createWriteStream(null, {
示例7: openSync
import { openSync, readSync, fstatSync } from 'fs';
let file;
try {
file = openSync('hello.txt', 'r');
} catch (err) {
console.log(`Couldn't open: ${err.message}`);
process.exit(1);
}
let stat;
try {
stat = fstatSync(file);
} catch (err) {
console.log(`Couldn't get stat: ${err.message}`);
process.exit(1);
}
const buffer = new Buffer(stat.size);
try {
readSync(file, buffer, 0, stat.size, null);
} catch (err) {
console.log(`Couldn't read: ${err.message}`);
process.exit(1);
}
let data;
try {
data = buffer.toString();
} catch (err) {