diff --git a/interfaces/kits/js/src/mod_fs/ani/bind_function_class.cpp b/interfaces/kits/js/src/mod_fs/ani/bind_function_class.cpp index 9498f847940af3c253fe9f8c846724ddde9c5247..8eb89cc5fd7e8d1c705effa17e502913738bf573 100644 --- a/interfaces/kits/js/src/mod_fs/ani/bind_function_class.cpp +++ b/interfaces/kits/js/src/mod_fs/ani/bind_function_class.cpp @@ -24,6 +24,7 @@ #include "stat_ani.h" #include "unlink_ani.h" #include "rmdir_ani.h" +#include "truncate_ani.h" using namespace OHOS::FileManagement::ModuleFileIO::ANI; @@ -58,6 +59,8 @@ static ani_status BindFileFs(ani_vm *vm) ani_native_function { "copyFileSync", nullptr, reinterpret_cast(CopyFileAni::CopyFileSync) }, ani_native_function { "statSync", nullptr, reinterpret_cast(StatAni::StatSync) }, ani_native_function { "rmdirSync", "Lstd/core/String;:V", reinterpret_cast(RmdirAni::RmdirSync) }, + ani_native_function { "truncateSync", "Lstd/core/Object;Lstd/core/Long;:V", + reinterpret_cast(TruncateAni::TruncateSync) }, }; return BindClass(vm, className, functions); diff --git a/interfaces/kits/js/src/mod_fs/ani/file_fs_class.ets b/interfaces/kits/js/src/mod_fs/ani/file_fs_class.ets index ba52d3112e3dc794a35ff0a9542cf52d18adf96d..fb2fc0c3c85e46b809b2371b28d7a9ac71803aba 100644 --- a/interfaces/kits/js/src/mod_fs/ani/file_fs_class.ets +++ b/interfaces/kits/js/src/mod_fs/ani/file_fs_class.ets @@ -49,6 +49,7 @@ class fileIo { static native mkdirSync(path: string, recursion: boolean): int; static native moveFileSync(src: String, dest: String, mode?: int): void; static native rmdirSync(path: string): void; + static native truncateSync(file: string | int, len?: long): void; static accessSync(path: string, mode?: AccessModeType): boolean { return fileIo.doAccessSync(path, mode); @@ -430,6 +431,18 @@ function rmdirSyncTest() { console.println("rmdirSyncTest end") } +function truncateSyncTest() { + console.println("openSyncTest begin") + let file = fileIo.openSync("/data/local/tmp/abc1.txt", 2) + console.println(`open file without mode, file.fd=${file.fd}`) + console.println("truncateSyncTest abc1.txt begin") + fileIo.truncateSync(file.fd, 2) + console.println("truncateSyncTest abc1.txt end") + console.println("truncateSyncTest abc.txt begin") + fileIo.truncateSync("/data/local/tmp/abc.txt", 2) + console.println("truncateSyncTest abc.txt end") +} + function stat_test(file: FileDataType) { let stat = fileIo.statSync(file) console.info("stat, ino is " + stat.ino);