diff --git a/CHANGELOG.md b/CHANGELOG.md index f655b64097e2578c001d27a8782afce7d254ee8e..b4029533ceea473977255d70ff0dad4739904575 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +## 2.0.3-rc.0 +- 修复文件句柄泄露的问题 + ## 2.0.2 - 在DevEco Studio: NEXT Beta1-5.0.3.806, SDK:API12 Release(5.0.0.66)上验证通过 - 修复改变缓存大小时,当前缓存计算错误的问题 diff --git a/entry/oh-package.json5 b/entry/oh-package.json5 index aa095602211c8155fda08fb83d0884a01831c72a..a6c48d555f13225fb0d1f99317cf51d1c662bc28 100644 --- a/entry/oh-package.json5 +++ b/entry/oh-package.json5 @@ -4,7 +4,7 @@ "name": "entry", "description": "example description", "repository": {}, - "version": "2.0.2", + "version": "2.0.3-rc.0", "dependencies": { "@ohos/disklrucache": "file:../library" } diff --git a/library/oh-package.json5 b/library/oh-package.json5 index c76d3f04fb468dd3d60def7a0c892750ff379b34..f5154847b11d337bee0fe54ab6079c45d1f5005c 100644 --- a/library/oh-package.json5 +++ b/library/oh-package.json5 @@ -13,7 +13,7 @@ "main": "index.ets", "repository": "https://gitee.com/openharmony-sig/ohos_disklrucache", "type": "module", - "version": "2.0.2", + "version": "2.0.3-rc.0", "dependencies": {}, "tags": [ "Tool" diff --git a/library/src/main/ets/components/cache/FileUtils.ts b/library/src/main/ets/components/cache/FileUtils.ts index 156afc6714c1ea6dbc16644e0673989df34b36ec..ad82340d2b53688eef4102e12464eeb5c7435eb3 100644 --- a/library/src/main/ets/components/cache/FileUtils.ts +++ b/library/src/main/ets/components/cache/FileUtils.ts @@ -39,14 +39,13 @@ export class FileUtils { * @param path 文件绝对路径及文件名 * @return number 文件句柄id */ - createFile(path: string): number { - let num = -1; + createFile(path: string) { try { - num = fs.openSync(path, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE).fd + let num = fs.openSync(path, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE).fd + fs.closeSync(num); } catch (e) { console.log("createFile err :" + e) } - return num; } /** @@ -90,8 +89,10 @@ export class FileUtils { * * @param path 文件绝对路径 */ - clearFile(path: string): number { - return fs.openSync(path, fs.OpenMode.TRUNC).fd + clearFile(path: string) { + let file = fs.openSync(path, fs.OpenMode.TRUNC).fd + fs.closeSync(file); + return } /** @@ -190,6 +191,7 @@ export class FileUtils { let length = fs.statSync(path).size let buf = new ArrayBuffer(length); fs.readSync(fd, buf) + fs.closeSync(fd); return buf } @@ -204,6 +206,7 @@ export class FileUtils { let length = stat.size; let buf = new ArrayBuffer(length); await fs.read(fd, buf); + await fs.close(fd) return buf } @@ -262,7 +265,7 @@ export class FileUtils { let fd = fs.openSync(path, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE).fd fs.truncateSync(fd) fs.writeSync(fd, content) - fs.fsync(fd).then(() => { + fs.fsync(fd).finally(() => { fs.close(fd).then(() => { }).catch((err: BusinessError) => { console.error("close file failed with error message: " + err.message + ", error code: " + err.code); diff --git a/oh-package.json5 b/oh-package.json5 index e7520255bd0d3aec1d73746e9dedab3d3eb0fe10..0515ed9192b67c879c2370082e549fc2af35ce83 100644 --- a/oh-package.json5 +++ b/oh-package.json5 @@ -6,6 +6,6 @@ "name": "disklrucache", "description": "example description", "repository": {}, - "version": "2.0.2", + "version": "2.0.3-rc.0", "dependencies": {} -} +} \ No newline at end of file