ms-vite-plugin 1.1.1 → 1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/build.js +6 -0
- package/dist/cli.js +98 -8
- package/dist/mcp/device-config.d.ts +55 -0
- package/dist/mcp/device-config.js +183 -0
- package/dist/mcp/docs-service.d.ts +65 -0
- package/dist/mcp/docs-service.js +168 -0
- package/dist/mcp/project.d.ts +16 -0
- package/dist/mcp/project.js +74 -0
- package/dist/mcp/tools.d.ts +18 -0
- package/dist/mcp/tools.js +825 -0
- package/dist/mcp/types.d.ts +32 -0
- package/dist/mcp/types.js +11 -0
- package/dist/mcp-server.d.ts +2 -0
- package/dist/mcp-server.js +86 -0
- package/dist/project.d.ts +89 -0
- package/dist/project.js +306 -0
- package/dist/version.d.ts +12 -0
- package/dist/version.js +63 -0
- package/docs/api/action.md +922 -0
- package/docs/api/appleocr.md +229 -0
- package/docs/api/config.md +122 -0
- package/docs/api/cryptoUtils.md +232 -0
- package/docs/api/device.md +374 -0
- package/docs/api/file.md +516 -0
- package/docs/api/global.md +617 -0
- package/docs/api/hid.md +1032 -0
- package/docs/api/hotUpdate.md +166 -0
- package/docs/api/http.md +548 -0
- package/docs/api/image.md +907 -0
- package/docs/api/ime.md +290 -0
- package/docs/api/logger.md +324 -0
- package/docs/api/media.md +248 -0
- package/docs/api/mysql.md +441 -0
- package/docs/api/netCard.md +200 -0
- package/docs/api/node.md +353 -0
- package/docs/api/paddleocr.md +246 -0
- package/docs/api/pip.md +242 -0
- package/docs/api/system.md +572 -0
- package/docs/api/thread.md +269 -0
- package/docs/api/tomatoocr.md +425 -0
- package/docs/api/tts.md +334 -0
- package/docs/api/ui.md +947 -0
- package/docs/api/utils.md +265 -0
- package/docs/api/yolo.md +310 -0
- package/docs/apicn/action.md +919 -0
- package/docs/apicn/appleocr.md +233 -0
- package/docs/apicn/config.md +120 -0
- package/docs/apicn/device.md +385 -0
- package/docs/apicn/file.md +511 -0
- package/docs/apicn/global.md +613 -0
- package/docs/apicn/hid.md +1033 -0
- package/docs/apicn/hotUpdate.md +170 -0
- package/docs/apicn/http.md +672 -0
- package/docs/apicn/image.md +924 -0
- package/docs/apicn/ime.md +290 -0
- package/docs/apicn/logger.md +332 -0
- package/docs/apicn/media.md +252 -0
- package/docs/apicn/mysql.md +445 -0
- package/docs/apicn/netCard.md +200 -0
- package/docs/apicn/node.md +362 -0
- package/docs/apicn/paddleocr.md +255 -0
- package/docs/apicn/pip.md +242 -0
- package/docs/apicn/system.md +575 -0
- package/docs/apicn/thread.md +269 -0
- package/docs/apicn/tts.md +338 -0
- package/docs/apicn/ui.md +933 -0
- package/docs/apicn/utils.md +265 -0
- package/docs/apicn/yolo.md +314 -0
- package/docs/apipython/action.md +901 -0
- package/docs/apipython/appleocr.md +226 -0
- package/docs/apipython/config.md +126 -0
- package/docs/apipython/cryptoUtils.md +246 -0
- package/docs/apipython/device.md +365 -0
- package/docs/apipython/file.md +476 -0
- package/docs/apipython/g.md +154 -0
- package/docs/apipython/hid.md +1059 -0
- package/docs/apipython/hotUpdate.md +154 -0
- package/docs/apipython/image.md +938 -0
- package/docs/apipython/ime.md +306 -0
- package/docs/apipython/logger.md +330 -0
- package/docs/apipython/media.md +221 -0
- package/docs/apipython/mysql.md +432 -0
- package/docs/apipython/netCard.md +219 -0
- package/docs/apipython/node.md +331 -0
- package/docs/apipython/overview.md +66 -0
- package/docs/apipython/paddleocr.md +211 -0
- package/docs/apipython/pip.md +231 -0
- package/docs/apipython/system.md +458 -0
- package/docs/apipython/tomatoocr.md +444 -0
- package/docs/apipython/tts.md +331 -0
- package/docs/apipython/ui.md +949 -0
- package/docs/apipython/utils.md +284 -0
- package/docs/apipython/yolo.md +281 -0
- package/package.json +8 -4
package/docs/api/file.md
ADDED
|
@@ -0,0 +1,516 @@
|
|
|
1
|
+
# 文件模块 (File)
|
|
2
|
+
|
|
3
|
+
文件模块提供了完整的文件和目录操作功能,包括文件的创建、读写、删除、复制等操作,以及目录的管理和遍历功能。
|
|
4
|
+
|
|
5
|
+
## 功能概览
|
|
6
|
+
|
|
7
|
+
- **目录管理**: 获取应用目录、创建目录、列出目录内容
|
|
8
|
+
- **文件操作**: 创建、删除、复制、检查文件存在性
|
|
9
|
+
- **文件读写**: 支持整个文件和按行的读写操作
|
|
10
|
+
- **文件信息**: 获取文件 MD5 值等信息
|
|
11
|
+
|
|
12
|
+
## 注意事项
|
|
13
|
+
|
|
14
|
+
- **文件路径**: 所有文件路径均为绝对路径,不支持相对路径。
|
|
15
|
+
- **目录查看**: `documents`目录可以通过`文件`->`我的iPhone`->`快点JS`查看,其他目录不可直接查看
|
|
16
|
+
|
|
17
|
+
## API 参考
|
|
18
|
+
|
|
19
|
+
### 目录操作
|
|
20
|
+
|
|
21
|
+
#### getInternalDir - 获取应用内部目录路径。
|
|
22
|
+
|
|
23
|
+
```typescript
|
|
24
|
+
function getInternalDir(
|
|
25
|
+
type: "documents" | "library" | "temp" | "libraryCaches"
|
|
26
|
+
): string;
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
**参数:**
|
|
30
|
+
|
|
31
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
32
|
+
| ------ | ------ | -------- | ------ | ----------------------------------------------------------------------------------------------------------------------------- |
|
|
33
|
+
| `type` | string | 是 | - | 目录类型 <br>-`"documents"` - 文档目录 <br>-`"library"` - 库目录 <br>-`"temp"` - 临时目录 <br>-`"libraryCaches"` - 库缓存目录 |
|
|
34
|
+
|
|
35
|
+
**返回值:**
|
|
36
|
+
|
|
37
|
+
| 类型 | 描述 |
|
|
38
|
+
| -------- | ---------------- |
|
|
39
|
+
| `string` | 应用内部目录路径 |
|
|
40
|
+
|
|
41
|
+
**示例:**
|
|
42
|
+
|
|
43
|
+
```javascript
|
|
44
|
+
const documentsDir = file.getInternalDir("documents");
|
|
45
|
+
const tempDir = file.getInternalDir("temp");
|
|
46
|
+
logi(`文档目录: ${documentsDir}`);
|
|
47
|
+
logi(`临时目录: ${tempDir}`);
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
#### getDataDir - 获取应用数据目录路径。
|
|
51
|
+
|
|
52
|
+
```typescript
|
|
53
|
+
function getDataDir(): string;
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
**返回值:**
|
|
57
|
+
|
|
58
|
+
| 类型 | 描述 |
|
|
59
|
+
| -------- | ---------------- |
|
|
60
|
+
| `string` | 应用数据目录路径 |
|
|
61
|
+
|
|
62
|
+
**示例:**
|
|
63
|
+
|
|
64
|
+
```javascript
|
|
65
|
+
const dataDir = file.getDataDir();
|
|
66
|
+
logi(`数据目录: ${dataDir}`);
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
#### getDataFile - 获取应用数据文件的完整路径。
|
|
70
|
+
|
|
71
|
+
```typescript
|
|
72
|
+
function getDataFile(file: string): string;
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
**参数:**
|
|
76
|
+
|
|
77
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
78
|
+
| ------ | ------ | -------- | ------ | ------------ |
|
|
79
|
+
| `file` | string | 是 | - | 文件名或路径 |
|
|
80
|
+
|
|
81
|
+
**返回值:**
|
|
82
|
+
|
|
83
|
+
| 类型 | 描述 |
|
|
84
|
+
| -------- | ------------ |
|
|
85
|
+
| `string` | 文件完整路径 |
|
|
86
|
+
|
|
87
|
+
**示例:**
|
|
88
|
+
|
|
89
|
+
```javascript
|
|
90
|
+
const configPath = file.getDataFile("config.json");
|
|
91
|
+
logi(`配置文件路径: ${configPath}`);
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
#### mkdirs - 创建目录(支持递归创建)。
|
|
95
|
+
|
|
96
|
+
```typescript
|
|
97
|
+
function mkdirs(path: string): boolean;
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
**参数:**
|
|
101
|
+
|
|
102
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
103
|
+
| ------ | ------ | -------- | ------ | -------- |
|
|
104
|
+
| `path` | string | 是 | - | 目录路径 |
|
|
105
|
+
|
|
106
|
+
**返回值:**
|
|
107
|
+
|
|
108
|
+
| 类型 | 描述 |
|
|
109
|
+
| --------- | ------------ |
|
|
110
|
+
| `boolean` | 是否创建成功 |
|
|
111
|
+
|
|
112
|
+
**示例:**
|
|
113
|
+
|
|
114
|
+
```javascript
|
|
115
|
+
const success = file.mkdirs("/path/to/nested/directory");
|
|
116
|
+
if (success) {
|
|
117
|
+
logi("目录创建成功");
|
|
118
|
+
}
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
#### listDir - 列出目录下的所有文件和子目录。
|
|
122
|
+
|
|
123
|
+
```typescript
|
|
124
|
+
function listDir(path: string, recursion: boolean): string[];
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
**参数:**
|
|
128
|
+
|
|
129
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
130
|
+
| ----------- | ------- | -------- | ------ | ---------------------- |
|
|
131
|
+
| `path` | string | 是 | - | 目录路径 |
|
|
132
|
+
| `recursion` | boolean | 是 | - | 是否递归列出子目录内容 |
|
|
133
|
+
|
|
134
|
+
**返回值:**
|
|
135
|
+
|
|
136
|
+
| 类型 | 描述 |
|
|
137
|
+
| ---------- | ------------------ |
|
|
138
|
+
| `string[]` | 文件和目录路径数组 |
|
|
139
|
+
|
|
140
|
+
**示例:**
|
|
141
|
+
|
|
142
|
+
```javascript
|
|
143
|
+
// 列出目录内容(不递归)
|
|
144
|
+
const files = file.listDir("/path/to/directory", false);
|
|
145
|
+
logi(`目录内容: ${JSON.stringify(files)}`);
|
|
146
|
+
|
|
147
|
+
// 递归列出所有内容
|
|
148
|
+
const allFiles = file.listDir("/path/to/directory", true);
|
|
149
|
+
logi(`所有文件: ${JSON.stringify(allFiles)}`);
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
### 文件基础操作
|
|
153
|
+
|
|
154
|
+
#### create - 创建新文件。
|
|
155
|
+
|
|
156
|
+
```typescript
|
|
157
|
+
function create(path: string): boolean;
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
**参数:**
|
|
161
|
+
|
|
162
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
163
|
+
| ------ | ------ | -------- | ------ | -------- |
|
|
164
|
+
| `path` | string | 是 | - | 文件路径 |
|
|
165
|
+
|
|
166
|
+
**返回值:**
|
|
167
|
+
|
|
168
|
+
| 类型 | 描述 |
|
|
169
|
+
| --------- | ------------ |
|
|
170
|
+
| `boolean` | 是否创建成功 |
|
|
171
|
+
|
|
172
|
+
**示例:**
|
|
173
|
+
|
|
174
|
+
```javascript
|
|
175
|
+
const created = file.create("/path/to/newfile.txt");
|
|
176
|
+
if (created) {
|
|
177
|
+
logi("文件创建成功");
|
|
178
|
+
}
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
#### exists - 检查文件或目录是否存在。
|
|
182
|
+
|
|
183
|
+
```typescript
|
|
184
|
+
function exists(path: string): boolean;
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
**参数:**
|
|
188
|
+
|
|
189
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
190
|
+
| ------ | ------ | -------- | ------ | -------------- |
|
|
191
|
+
| `path` | string | 是 | - | 文件或目录路径 |
|
|
192
|
+
|
|
193
|
+
**返回值:**
|
|
194
|
+
|
|
195
|
+
| 类型 | 描述 |
|
|
196
|
+
| --------- | -------- |
|
|
197
|
+
| `boolean` | 是否存在 |
|
|
198
|
+
|
|
199
|
+
**示例:**
|
|
200
|
+
|
|
201
|
+
```javascript
|
|
202
|
+
if (file.exists("/path/to/file.txt")) {
|
|
203
|
+
logi("文件存在");
|
|
204
|
+
} else {
|
|
205
|
+
logi("文件不存在");
|
|
206
|
+
}
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
#### copy - 复制文件。
|
|
210
|
+
|
|
211
|
+
```typescript
|
|
212
|
+
function copy(src: string, dest: string): boolean;
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
**参数:**
|
|
216
|
+
|
|
217
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
218
|
+
| ------ | ------ | -------- | ------ | ------------ |
|
|
219
|
+
| `src` | string | 是 | - | 源文件路径 |
|
|
220
|
+
| `dest` | string | 是 | - | 目标文件路径 |
|
|
221
|
+
|
|
222
|
+
**返回值:**
|
|
223
|
+
|
|
224
|
+
| 类型 | 描述 |
|
|
225
|
+
| --------- | ------------ |
|
|
226
|
+
| `boolean` | 是否复制成功 |
|
|
227
|
+
|
|
228
|
+
**示例:**
|
|
229
|
+
|
|
230
|
+
```javascript
|
|
231
|
+
const copied = file.copy("/path/to/source.txt", "/path/to/destination.txt");
|
|
232
|
+
if (copied) {
|
|
233
|
+
logi("文件复制成功");
|
|
234
|
+
}
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
#### deleteAllFile - 删除文件或目录。
|
|
238
|
+
|
|
239
|
+
```typescript
|
|
240
|
+
function deleteAllFile(path: string): boolean;
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
**参数:**
|
|
244
|
+
|
|
245
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
246
|
+
| ------ | ------ | -------- | ------ | -------------- |
|
|
247
|
+
| `path` | string | 是 | - | 文件或目录路径 |
|
|
248
|
+
|
|
249
|
+
**返回值:**
|
|
250
|
+
|
|
251
|
+
| 类型 | 描述 |
|
|
252
|
+
| --------- | ------------ |
|
|
253
|
+
| `boolean` | 是否删除成功 |
|
|
254
|
+
|
|
255
|
+
**示例:**
|
|
256
|
+
|
|
257
|
+
```javascript
|
|
258
|
+
const deleted = file.deleteAllFile("/path/to/file.txt");
|
|
259
|
+
if (deleted) {
|
|
260
|
+
logi("文件删除成功");
|
|
261
|
+
}
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
### 文件读写操作
|
|
265
|
+
|
|
266
|
+
#### readFile - 读取整个文件内容。
|
|
267
|
+
|
|
268
|
+
```typescript
|
|
269
|
+
function readFile(path: string): string | null;
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
**参数:**
|
|
273
|
+
|
|
274
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
275
|
+
| ------ | ------ | -------- | ------ | -------- |
|
|
276
|
+
| `path` | string | 是 | - | 文件路径 |
|
|
277
|
+
|
|
278
|
+
**返回值:**
|
|
279
|
+
|
|
280
|
+
| 类型 | 描述 |
|
|
281
|
+
| ---------------- | ------------------------------- |
|
|
282
|
+
| `string \| null` | 文件内容;失败或不存在返回 null |
|
|
283
|
+
|
|
284
|
+
**示例:**
|
|
285
|
+
|
|
286
|
+
```javascript
|
|
287
|
+
const content = file.readFile("/path/to/file.txt");
|
|
288
|
+
if (content !== null) {
|
|
289
|
+
logi(`文件内容: ${content}`);
|
|
290
|
+
} else {
|
|
291
|
+
logw("文件不存在或读取失败");
|
|
292
|
+
}
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
#### readResFile -读取`res`目录中的文本文件内容。
|
|
296
|
+
|
|
297
|
+
**注意事项:**
|
|
298
|
+
|
|
299
|
+
- 该函数仅适用于读取脚本 res 目录中的文本文件。
|
|
300
|
+
- res 目录文件只读,不能修改。
|
|
301
|
+
|
|
302
|
+
```typescript
|
|
303
|
+
function readResFile(fileName: string): string | null;
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
**参数:**
|
|
307
|
+
|
|
308
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
309
|
+
| ---------- | ------ | -------- | ------ | ------------ |
|
|
310
|
+
| `fileName` | string | 是 | - | res 目录路径 |
|
|
311
|
+
|
|
312
|
+
**返回值:**
|
|
313
|
+
|
|
314
|
+
| 类型 | 描述 |
|
|
315
|
+
| -------------- | --------------------------------------- |
|
|
316
|
+
| `string\|null` | 文件内容 文件不存在或读取失败 返回 null |
|
|
317
|
+
|
|
318
|
+
**示例:**
|
|
319
|
+
|
|
320
|
+
```javascript
|
|
321
|
+
// 读取配置文件
|
|
322
|
+
const config = file.readResFile("config.json");
|
|
323
|
+
if (config) {
|
|
324
|
+
const configObj = JSON.parse(config);
|
|
325
|
+
logi(`配置加载成功: ${JSON.stringify(configObj)}`);
|
|
326
|
+
} else {
|
|
327
|
+
logi("配置文件不存在或读取失败");
|
|
328
|
+
}
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
#### writeFile - 写入文件内容(覆盖原有内容)。
|
|
332
|
+
|
|
333
|
+
```typescript
|
|
334
|
+
function writeFile(path: string, content: string): boolean;
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
**参数:**
|
|
338
|
+
|
|
339
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
340
|
+
| --------- | ------ | -------- | ------ | ------------ |
|
|
341
|
+
| `path` | string | 是 | - | 文件路径 |
|
|
342
|
+
| `content` | string | 是 | - | 要写入的内容 |
|
|
343
|
+
|
|
344
|
+
**返回值:**
|
|
345
|
+
|
|
346
|
+
| 类型 | 描述 |
|
|
347
|
+
| --------- | ------------ |
|
|
348
|
+
| `boolean` | 是否写入成功 |
|
|
349
|
+
|
|
350
|
+
**示例:**
|
|
351
|
+
|
|
352
|
+
```javascript
|
|
353
|
+
const success = file.writeFile("/path/to/file.txt", "Hello, World!");
|
|
354
|
+
if (success) {
|
|
355
|
+
logi("文件写入成功");
|
|
356
|
+
}
|
|
357
|
+
```
|
|
358
|
+
|
|
359
|
+
#### appendLine - 向文件追加内容。
|
|
360
|
+
|
|
361
|
+
```typescript
|
|
362
|
+
function appendLine(path: string, content: string): boolean;
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
**参数:**
|
|
366
|
+
|
|
367
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
368
|
+
| --------- | ------ | -------- | ------ | ------------ |
|
|
369
|
+
| `path` | string | 是 | - | 文件路径 |
|
|
370
|
+
| `content` | string | 是 | - | 要追加的内容 |
|
|
371
|
+
|
|
372
|
+
**返回值:**
|
|
373
|
+
|
|
374
|
+
| 类型 | 描述 |
|
|
375
|
+
| --------- | ------------ |
|
|
376
|
+
| `boolean` | 是否追加成功 |
|
|
377
|
+
|
|
378
|
+
**示例:**
|
|
379
|
+
|
|
380
|
+
```javascript
|
|
381
|
+
const appended = file.appendLine("/path/to/log.txt", "新的日志条目");
|
|
382
|
+
if (appended) {
|
|
383
|
+
logi("内容追加成功");
|
|
384
|
+
}
|
|
385
|
+
```
|
|
386
|
+
|
|
387
|
+
### 按行操作
|
|
388
|
+
|
|
389
|
+
#### readLine - 读取文件指定行的内容。
|
|
390
|
+
|
|
391
|
+
```typescript
|
|
392
|
+
function readLine(path: string, lineNo: number): string | null;
|
|
393
|
+
```
|
|
394
|
+
|
|
395
|
+
**参数:**
|
|
396
|
+
|
|
397
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
398
|
+
| -------- | ------ | -------- | ------ | ----------------- |
|
|
399
|
+
| `path` | string | 是 | - | 文件路径 |
|
|
400
|
+
| `lineNo` | number | 是 | - | 行号(从 1 开始) |
|
|
401
|
+
|
|
402
|
+
**返回值:**
|
|
403
|
+
|
|
404
|
+
| 类型 | 描述 |
|
|
405
|
+
| ---------------- | ----------------------------- |
|
|
406
|
+
| `string \| null` | 行内容;失败或不存在返回 null |
|
|
407
|
+
|
|
408
|
+
**示例:**
|
|
409
|
+
|
|
410
|
+
```javascript
|
|
411
|
+
const firstLine = file.readLine("/path/to/file.txt", 1);
|
|
412
|
+
if (firstLine !== null) {
|
|
413
|
+
logi(`第一行内容: ${firstLine}`);
|
|
414
|
+
} else {
|
|
415
|
+
logw("读取失败或行不存在");
|
|
416
|
+
}
|
|
417
|
+
```
|
|
418
|
+
|
|
419
|
+
#### readAllLines - 读取文件所有行内容。
|
|
420
|
+
|
|
421
|
+
```typescript
|
|
422
|
+
function readAllLines(path: string): string[] | null;
|
|
423
|
+
```
|
|
424
|
+
|
|
425
|
+
**参数:**
|
|
426
|
+
|
|
427
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
428
|
+
| ------ | ------ | -------- | ------ | -------- |
|
|
429
|
+
| `path` | string | 是 | - | 文件路径 |
|
|
430
|
+
|
|
431
|
+
**返回值:**
|
|
432
|
+
|
|
433
|
+
| 类型 | 描述 |
|
|
434
|
+
| --------- | ----- | ----------------------------- |
|
|
435
|
+
| `string[] | null` | 所有行内容数组;失败返回 null |
|
|
436
|
+
|
|
437
|
+
**示例:**
|
|
438
|
+
|
|
439
|
+
```javascript
|
|
440
|
+
const lines = file.readAllLines("/path/to/file.txt");
|
|
441
|
+
if (lines !== null) {
|
|
442
|
+
lines.forEach((line, index) => {
|
|
443
|
+
logi(`第${index + 1}行: ${line}`);
|
|
444
|
+
});
|
|
445
|
+
} else {
|
|
446
|
+
logw("读取所有行失败或文件不存在");
|
|
447
|
+
}
|
|
448
|
+
```
|
|
449
|
+
|
|
450
|
+
#### deleteLine - 删除文件中符合条件的行。
|
|
451
|
+
|
|
452
|
+
```typescript
|
|
453
|
+
function deleteLine(
|
|
454
|
+
path: string,
|
|
455
|
+
line: number,
|
|
456
|
+
contains: string | null
|
|
457
|
+
): boolean;
|
|
458
|
+
```
|
|
459
|
+
|
|
460
|
+
**参数:**
|
|
461
|
+
|
|
462
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
463
|
+
| ---------- | ------ | -------- | ------ | ----------------------------------- |
|
|
464
|
+
| `path` | string | 是 | - | 文件路径 |
|
|
465
|
+
| `line` | number | 是 | - | 行号(-1 表示不按行号删除) |
|
|
466
|
+
| `contains` | string | 否 | null | 包含的内容(null 表示不按内容删除) |
|
|
467
|
+
|
|
468
|
+
**返回值:**
|
|
469
|
+
|
|
470
|
+
| 类型 | 描述 |
|
|
471
|
+
| --------- | ------------ |
|
|
472
|
+
| `boolean` | 是否删除成功 |
|
|
473
|
+
|
|
474
|
+
**示例:**
|
|
475
|
+
|
|
476
|
+
```javascript
|
|
477
|
+
// 删除第3行
|
|
478
|
+
file.deleteLine("/path/to/file.txt", 3, null);
|
|
479
|
+
|
|
480
|
+
// 删除包含"error"的行
|
|
481
|
+
file.deleteLine("/path/to/file.txt", -1, "error");
|
|
482
|
+
|
|
483
|
+
// 删除第5行且包含"debug"的行
|
|
484
|
+
file.deleteLine("/path/to/file.txt", 5, "debug");
|
|
485
|
+
```
|
|
486
|
+
|
|
487
|
+
### 文件信息
|
|
488
|
+
|
|
489
|
+
#### fileMD5 - 获取文件的 MD5 哈希值。
|
|
490
|
+
|
|
491
|
+
```typescript
|
|
492
|
+
function fileMD5(path: string): string | null;
|
|
493
|
+
```
|
|
494
|
+
|
|
495
|
+
**参数:**
|
|
496
|
+
|
|
497
|
+
| 参数名 | 类型 | 是否必填 | 默认值 | 描述 |
|
|
498
|
+
| ------ | ------ | -------- | ------ | -------- |
|
|
499
|
+
| `path` | string | 是 | - | 文件路径 |
|
|
500
|
+
|
|
501
|
+
**返回值:**
|
|
502
|
+
|
|
503
|
+
| 类型 | 描述 |
|
|
504
|
+
| ---------------- | ------------------------- |
|
|
505
|
+
| `string \| null` | 文件 MD5 值 失败返回 null |
|
|
506
|
+
|
|
507
|
+
**示例:**
|
|
508
|
+
|
|
509
|
+
```javascript
|
|
510
|
+
const md5 = file.fileMD5("/path/to/file.txt");
|
|
511
|
+
if (md5) {
|
|
512
|
+
logi(`文件MD5: ${md5}`);
|
|
513
|
+
} else {
|
|
514
|
+
logi("获取MD5失败");
|
|
515
|
+
}
|
|
516
|
+
```
|