當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript fs.readSync函數代碼示例

本文整理匯總了TypeScript中fs.readSync函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript readSync函數的具體用法?TypeScript readSync怎麽用?TypeScript readSync使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了readSync函數的10個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: writeToBuffer

function writeToBuffer(filename, buffer) {
  const fd = fs.openSync(filename, 'r');
  const bytesRead = fs.readSync(fd, buffer, 0, buffer.length, 0);
  fs.closeSync(fd);

  return bytesRead;
}
開發者ID:nspragg,項目名稱:filesniffer,代碼行數:7,代碼來源:isbinary.ts

示例2: copyFile

function copyFile(fromPath: string, toPath: string) {

    console.log("Copying from '" + fromPath + "' to '" + toPath);
    makePathTo(toPath);

    const fileSize = (fs.statSync(fromPath)).size,
        bufferSize = Math.min(0x10000, fileSize),
        buffer = new Buffer(bufferSize),
        progress = makeProgress(fileSize),
        handleFrom = fs.openSync(fromPath, "r"),
        handleTo = fs.openSync(toPath, "w");

    try {
        for (;;) {
            const got = fs.readSync(handleFrom, buffer, 0, bufferSize, null);
            if (got <= 0) break;
            fs.writeSync(handleTo, buffer, 0, got);
            progress(got);
        }
        progress(null);
    } finally {
        fs.closeSync(handleFrom);
        fs.closeSync(handleTo);
    }
}
開發者ID:danielearwicker,項目名稱:mirrorball,代碼行數:25,代碼來源:mirrorball.ts

示例3: copyFile

function copyFile(sourceFile, destPath): void {
    checkFileCopy(sourceFile, destPath);

    var filename = path.basename(sourceFile);

    if (fs.existsSync(destPath)) {
        if (fs.lstatSync(destPath).isDirectory()) {
            destPath += "/" + filename;
        }
    } else {
        if (destPath[destPath.length - 1] === "/" || destPath[destPath.length - 1] === "\\") {
            mkdirParentsSync(destPath);
            destPath += filename;
        } else {
            mkdirParentsSync(path.dirname(destPath));
        }
    }

    var bufLength = 64 * 1024;
    var buff = new Buffer(bufLength);

    var fdr = fs.openSync(sourceFile, "r");
    var fdw = fs.openSync(destPath, "w");
    var bytesRead = 1;
    var pos = 0;
    while (bytesRead > 0) {
        bytesRead = fs.readSync(fdr, buff, 0, bufLength, pos);
        fs.writeSync(fdw, buff, 0, bytesRead);
        pos += bytesRead;
    }
    fs.closeSync(fdr);
    fs.closeSync(fdw);
}
開發者ID:PlayFab,項目名稱:SDKGenerator,代碼行數:33,代碼來源:generate.ts

示例4: read

 protected read(fd: number, buf: any, size: number): number {
   let file = this.fileMap[fd];
   let buffer = new Buffer(size);
   let readed = fs.readSync(fd, buffer, 0, size, file.pos);
   unrar.HEAPU8.set(buffer, buf);
   file.pos += readed;
   return readed;
 }
開發者ID:YuJianrong,項目名稱:nodejs-unrar,代碼行數:8,代碼來源:fileExtractor.ts

示例5: incbin

    incbin(filepath: string, offset?: number, len?: number): Data {
        if(typeof offset === 'undefined') { // incbin(filepath);
            return this.db(fs.readFileSync(filepath));

        } else if(typeof len === 'undefined') { // incbin(filepath, offset);
            if(typeof offset !== 'number')
                throw TypeError('Offset must be a number.');

            var fd = fs.openSync(filepath, 'r');

            var total_len = 0;
            var data: Buffer[] = [];
            const CHUNK = 4096;
            var buf = new Buffer(CHUNK);
            var bytes = fs.readSync(fd, buf, 0, CHUNK, offset);
            data.push(buf.slice(0, bytes));
            total_len += bytes;

            while((bytes > 0) && (total_len < bytes)) {
                buf = new Buffer(4096);
                bytes = fs.readSync(fd, buf, 0, CHUNK,  null);
                if(bytes > 0) {
                    data.push(buf.slice(0, bytes));
                    total_len += bytes;
                }
            }

            buf = Buffer.concat(data);
            // if(total_len > len) buf = buf.slice(0, len);

            fs.closeSync(fd);
            return this.db(buf);
        } else { // incbin(filepath, offset, len);
            if(typeof offset !== 'number')
                throw TypeError('Offset must be a number.');
            if(typeof len !== 'number')
                throw TypeError('Length must be a number.');

            var buf = new Buffer(len);
            var fd = fs.openSync(filepath, 'r');
            var bytes = fs.readSync(fd, buf, 0, len, offset);
            buf = buf.slice(0, bytes);
            fs.closeSync(fd);
            return this.db(buf);
        }
    }
開發者ID:streamich,項目名稱:ass-js,代碼行數:46,代碼來源:PluginData.ts

示例6: processFiles

    private processFiles(onComplete: (status: number) => void, files: string[], program?: ts.Program) {
        const possibleConfigAbsolutePath = this.options.config != null ? path.resolve(this.options.config) : null;
        const linter = new Linter({
            fix: !!this.options.fix,
            formatter: this.options.format,
            formattersDirectory: this.options.formattersDirectory || "",
            rulesDirectory: this.options.rulesDirectory || "",
        }, program);

        let lastFolder: string | undefined;
        let configFile: IConfigurationFile | undefined;
        for (const file of files) {
            if (!fs.existsSync(file)) {
                console.error(`Unable to open file: ${file}`);
                onComplete(1);
                return;
            }

            const buffer = new Buffer(256);
            buffer.fill(0);
            const fd = fs.openSync(file, "r");
            try {
                fs.readSync(fd, buffer, 0, 256, 0);
                if (buffer.readInt8(0) === 0x47 && buffer.readInt8(188) === 0x47) {
                    // MPEG transport streams use the '.ts' file extension. They use 0x47 as the frame
                    // separator, repeating every 188 bytes. It is unlikely to find that pattern in
                    // TypeScript source, so tslint ignores files with the specific pattern.
                    console.warn(`${file}: ignoring MPEG transport stream`);
                    return;
                }
            } finally {
                fs.closeSync(fd);
            }

            const contents = fs.readFileSync(file, "utf8");
            const folder = path.dirname(file);
            if (lastFolder !== folder) {
                configFile = findConfiguration(possibleConfigAbsolutePath, folder).results;
                lastFolder = folder;
            }
            linter.lint(file, contents, configFile);
        }

        const lintResult = linter.getResult();

        this.outputStream.write(lintResult.output, () => {
            if (lintResult.failureCount > 0) {
                onComplete(this.options.force ? 0 : 2);
            } else {
                onComplete(0);
            }
        });

        if (lintResult.format === "prose") {
            // Check to see if there are any updates available
            updateNotifierCheck();
        }
    }
開發者ID:arusakov,項目名稱:tslint,代碼行數:58,代碼來源:runner.ts

示例7: read

  read(offset: number, length: number): Buffer {
    let buf = new Buffer(length);
    if (length === 0) {
      // work around fs.readSync() error reading 0 bytes from
      // a 0-length buffer.
      // See https://github.com/nodejs/node-v0.x-archive/issues/5685
      return buf;
    }

    fs.readSync(this.fd, buf, 0, length, offset);
    return buf;
  }
開發者ID:pxpeterxu,項目名稱:xar-js,代碼行數:12,代碼來源:io.ts

示例8: readFileSync

 readFileSync: function readFileSync(file: any, options: any) {
   setupManifest()
   const entry = manifest[file]
   if (!entry || !isString(file)) {
     return originalReadFileSync.apply(fs, arguments)
   }
   const [offset, length] = entry
   const resourceOffset = resourceStart + offset
   const encoding = isString(options) ? options : null
   const fd = fs.openSync(process.execPath, 'r')
   const result = Buffer.alloc(length)
   fs.readSync(fd, result, 0, length, resourceOffset)
   fs.closeSync(fd)
   return encoding ? result.toString(encoding) : result
 },
開發者ID:zavarat,項目名稱:nexe,代碼行數:15,代碼來源:shim-fs.ts

示例9: tryReadFile

/** Read a file, but return undefined if it is an MPEG '.ts' file. */
async function tryReadFile(filename: string, logger: Logger): Promise<string | undefined> {
    const buffer = new Buffer(256);
    const fd = fs.openSync(filename, "r");
    try {
        fs.readSync(fd, buffer, 0, 256, 0);
        if (buffer.readInt8(0, true) === 0x47 && buffer.readInt8(188, true) === 0x47) {
            // MPEG transport streams use the '.ts' file extension. They use 0x47 as the frame
            // separator, repeating every 188 bytes. It is unlikely to find that pattern in
            // TypeScript source, so tslint ignores files with the specific pattern.
            logger.error(`${filename}: ignoring MPEG transport stream`);
            return undefined;
        }
    } finally {
        fs.closeSync(fd);
    }

    return fs.readFileSync(filename, "utf8");
}
開發者ID:erikkemperman,項目名稱:tslint,代碼行數:19,代碼來源:runner.ts

示例10: Linter

const processFiles = (files: string[], program?: ts.Program) => {

    const linter = new Linter({
        formatter: argv.t,
        formattersDirectory: argv.s || "",
        rulesDirectory: argv.r || "",
    }, program);

    for (const file of files) {
        if (!fs.existsSync(file)) {
            console.error(`Unable to open file: ${file}`);
            process.exit(1);
        }

        const buffer = new Buffer(256);
        buffer.fill(0);
        const fd = fs.openSync(file, "r");
        try {
            fs.readSync(fd, buffer, 0, 256, null);
            if (buffer.readInt8(0) === 0x47 && buffer.readInt8(188) === 0x47) {
                // MPEG transport streams use the '.ts' file extension. They use 0x47 as the frame
                // separator, repeating every 188 bytes. It is unlikely to find that pattern in
                // TypeScript source, so tslint ignores files with the specific pattern.
                console.warn(`${file}: ignoring MPEG transport stream`);
                return;
            }
        } finally {
            fs.closeSync(fd);
        }

        const contents = fs.readFileSync(file, "utf8");
        const configuration = findConfiguration(possibleConfigAbsolutePath, file);
        linter.lint(file, contents, configuration);
    }

    const lintResult = linter.getResult();

    outputStream.write(lintResult.output, () => {
        if (lintResult.failureCount > 0) {
            process.exit(argv.force ? 0 : 2);
        }
    });
};
開發者ID:chrismbarr,項目名稱:tslint,代碼行數:43,代碼來源:tslint-cli.ts


注:本文中的fs.readSync函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。