FileResize

버전 1.0.0.0 (8.71 KB) 작성자: Jan
Expand and truncate existing files - efficient C-Mex
다운로드 수: 308
업데이트 날짜: 2012/7/3

라이선스 보기

FileResize

While expanding a file by appending zeros is easy in Matlab, truncating is much harder: Create a new file, copy the contents of the original file until the wanted position, delete original file, rename the new file. For large files this is rather inefficient.

This C-Mex function can expand or truncate a file directly. For expanding it is twice as fast as using FWRITE to append zeros, and the speedup for truncating files grows fast with the file length.

[Status, Msg] = FileResize(File, Bytes, Mode)
INPUT:
File: File name, Unicode and UNC paths accepted.
Bytes: Number of bytes.
Mode: 'set': Absolute size, this is the default.
'move': Relative to the end, truncate if [Bytes] is negative.

OUTPUT:
Status: Scalar DOUBLE, 0 on success, otherwise < 0.
Msg: Explanations of problems.

This function must be compiled before it can be used, or download a pre-compiled file:
http://www.n-simon.de/mex

Tested: Matlab 6.5, 7.7, 7.8, 7.13, WinXP/32, Win7/64
Compiler: LCC3.8, BCC5.5, OWC1.8, MSVC2008/2010
Assumed Compatibility: higher Matlab versions, Linux and MacOS.
Run the unit-test function uTest_FileResize to check validity and speed.

Bugreports and suggestions for improvements are welcome.

인용 양식

Jan (2024). FileResize (https://www.mathworks.com/matlabcentral/fileexchange/37384-fileresize), MATLAB Central File Exchange. 검색됨 .

MATLAB 릴리스 호환 정보
개발 환경: R2011b
모든 릴리스와 호환
플랫폼 호환성
Windows macOS Linux
카테고리
Help CenterMATLAB Answers에서 File Name Construction에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
버전 게시됨 릴리스 정보
1.0.0.0