FilesJS
原創2026/4/18小於 1 分鐘
FilesJS 是 Files NJS 模組的核心 API,提供了一套完整的檔案操作功能。
目錄操作
createDirectory
建立資料夾。
語法
createDirectory(path: string): void參數
| 參數名稱 | 類型 | 說明 |
|---|---|---|
path | string | 要建立的資料夾路徑 |
// 這將在當前目錄下建立一個名為 "new/folder" 的資料夾
FilesJS.createDirectory('new/folder');ensureDirectoryExists
確保目錄存在。
語法
ensureDirectoryExists(path: string): void參數
| 參數名稱 | 類型 | 說明 |
|---|---|---|
path | string | 要確保存在的目錄路徑 |
// 這將確保 "directory/" 目錄存在,如果不存在則會自動建立
FilesJS.ensureDirectoryExists('directory/');listDirectories
列出目錄中的所有子目錄。
語法
listDirectories(path: string): string[]參數
| 參數名稱 | 類型 | 說明 |
|---|---|---|
path | string | 要列出子目錄的目錄路徑 |
// 這將列出 "directory/" 目錄中的所有子目錄,並返回一個包含子目錄名稱的陣列
FilesJS.listDirectories('directory/');listFilesRecursively
遞迴列出目錄中的所有檔案。
語法
listFilesRecursively(path: string): string[]參數
| 參數名稱 | 類型 | 說明 |
|---|---|---|
path | string | 要列出檔案的目錄路徑 |
// 這將遞迴列出 "directory/" 目錄中的所有檔案,並返回一個包含所有檔案路徑的陣列
FilesJS.listFilesRecursively('directory/');listFiles
列出目錄中的所有檔案。
語法
listFiles(path: string): string[]參數
| 參數名稱 | 類型 | 說明 |
|---|---|---|
path | string | 要列出檔案的目錄路徑 |
// 這將列出 "directory/" 目錄中的所有檔案,並返回一個包含檔案名稱的陣列
FilesJS.listFiles('directory/');watchDirectory
監視目錄中的變化。
語法
watchDirectory(path: string, changeCallback: (path: string) => void): void參數
| 參數名稱 | 類型 | 說明 |
|---|---|---|
path | string | 要修改的目錄路徑 |
changeCallback | (path: string) => void | 當目錄內容變化時要執行的回調函數 |
// 這將監視 directory/ 的內容變化,當變化超過閾值時觸發事件
FilesJS.watchDirectory('directory/', (changedPath) => {
console.log(`File changed: ${changedPath}`);
});檔案操作
appendFile
追加文字至文件末端
語法
appendFile(path: string, content: string): void參數
| 參數名稱 | 類型 | 說明 |
|---|---|---|
path | string | 要寫入的檔案路徑 |
content | string | 要寫入的內容 |
// 這將把 "這是要追加的內容。" 追加到 example.txt 的末尾
FilesJS.appendFile('example.txt', '這是要追加的內容。\n');appendLine
追加新一行文字至文件末端
語法
appendLine(path: string, content: string): void參數
| 參數名稱 | 類型 | 說明 |
|---|---|---|
path | string | 要寫入的檔案路徑 |
content | string | 要寫入的內容 |
// 這將把 "這是要追加的內容。" 追加到 example.txt 的末尾,並確保它在新的一行
FilesJS.appendLine('example.txt', '這是要追加的內容。\n');copy
複製檔案。
語法
copy(sourceDir: string, targetDir: string, pattern: string): void參數
| 參數名稱 | 類型 | 說明 |
|---|---|---|
sourceDir | string | 要複製的原始資料夾路徑 |
targetDir | string | 要複製到的目标資料夾路徑 |
pattern | string | 檔案名稱的模式 |
// 這將複製 old/ 資料夾下所有 .txt 檔案到 new/ 資料夾
FilesJS.copy('old/', 'new/', '*.txt');createFiles
建立檔案。
語法
createFile(path: string, content: string): void參數
| 參數名稱 | 類型 | 說明 |
|---|---|---|
path | string | 要建立的檔案路徑 |
content | string | 檔案的內容 |
// 這將在當前目錄下建立一個名為 "file.txt" 的檔案,內容為 "Hello, World!"
FilesJS.createFile('file.txt', 'Hello, World!');exists
檢查檔案或資料夾是否存在。
語法
exists(path: string): boolean參數
| 參數名稱 | 類型 | 說明 |
|---|---|---|
path | string | 要檢查的檔案或資料夾路徑 |
// 這將檢查 file.txt 是否存在
FilesJS.exists('file.txt');getFileInfo
獲取檔案或資料夾的資訊。
語法
getFileInfo(path: string): FileInfo參數
| 參數名稱 | 類型 | 說明 |
|---|---|---|
path | string | 要獲取資訊的檔案或資料夾路徑 |
// 這將獲取 file.txt 的資訊,並返回一個包含檔案大小、創建時間等資訊的物件
FilesJS.getFileInfo('file.txt');getFileMD5
獲取檔案的 MD5 哈希值。
語法
getFileMD5(path: string): string參數
| 參數名稱 | 類型 | 說明 |
|---|---|---|
path | string | 要獲取 MD5 哈希值的檔案路徑 |
// 這將獲取 file.txt 的 MD5 哈希值
FilesJS.getFileMD5('file.txt');isFileEmpty
檢查檔案是否為空。
語法
isFileEmpty(path: string): boolean參數
| 參數名稱 | 類型 | 說明 |
|---|---|---|
path | string | 要檢查是否為空的檔案路徑 |
// 這將檢查 file.txt 是否為空,如果是空的則返回 true,否則返回 false
FilesJS.isFileEmpty('file.txt');mergeFiles
將多個檔案合併成一個檔案。
語法
mergeFiles(sourcePaths: string[], targetPath: string): void參數
| 參數名稱 | 類型 | 說明 |
|---|---|---|
sourcePaths | string[] | 要合併的檔案路徑陣列 |
targetPath | string | 輸出檔案的路徑 |
// 這將把 file1.txt 和 file2.txt 的內容合併到 merged.txt 中
FilesJS.mergeFiles(['file1.txt', 'file2.txt'], 'merged.txt');processLargeFiles
處理大型檔案。
語法
processLargeFiles(path: string, lineProcessor: (data: string) => void): void參數
| 參數名稱 | 類型 | 說明 |
|---|---|---|
path | string | 要處理的檔案路徑 |
lineProcessor | (data: string) => void | 處理檔案行數據的回調函數 |
// 這將逐行讀取 large-file.txt,並對每一行調用回調函數來處理數據
FilesJS.processLargeFiles('large-file.txt', (line) => {
console.log(line);
});readFile
讀取檔案內容。
語法
readFile(path: string): string參數
| 參數名稱 | 類型 | 說明 |
|---|---|---|
path | string | 要讀取的檔案路徑 |
// 這將讀取 file.txt 的內容並返回一個字串
FilesJS.readFile('file.txt');readLastLines
讀取檔案最後幾行的內容。
語法
readLastLines(path: string, lines: number): string[]參數
| 參數名稱 | 類型 | 說明 |
|---|---|---|
path | string | 要讀取的檔案路徑 |
lines | number | 要讀取的行數 |
// 這將讀取 file.txt 的最後 5 行內容並返回一個包含這些行的陣列
FilesJS.readLastLines('file.txt', 5);readLines
讀取檔案的內容。
語法
readLines(path: string): string[]參數
| 參數名稱 | 類型 | 說明 |
|---|---|---|
path | string | 要讀取的檔案路徑 |
// 這將讀取 file.txt 的內容並返回一個包含每行內容的陣列
FilesJS.readLines('file.txt');renameFile
重新命名檔案。
語法
renameFile(oldPath: string, newPath: string): void參數
| 參數名稱 | 類型 | 說明 |
|---|---|---|
oldPath | string | 要重新命名的檔案路徑 |
newPath | string | 新的檔案路徑 |
// 這將把 old-file.txt 重新命名為 new-file.txt
FilesJS.renameFile('old-file.txt', 'new-file.txt');replaceInFile
在檔案中替換內容。
語法
replaceInFile(path: string, search: string, replace: string): void參數
| 參數名稱 | 類型 | 說明 |
|---|---|---|
path | string | 要修改的檔案路徑 |
search | string | 要搜索的內容 |
replace | string | 用於替換的內容 |
// 這將在 file.txt 中將 "old content" 替換為 "new content"
FilesJS.replaceInFile('file.txt', 'old content', 'new content');saveJson
將 JSON 數據保存到檔案中。
語法
saveJson(path: string, jsonContent: string): void參數
| 參數名稱 | 類型 | 說明 |
|---|---|---|
path | string | 要修改的檔案路徑 |
jsonContent | string | 要保存的 JSON 數據 |
// 這將把 { key: 'value' } 以 JSON 格式保存到 file.json 中
FilesJS.saveJson('file.json', JSON.stringify({ key: 'value' }));searchInFile
在檔案中搜索內容。
語法
searchInFile(path: string, searchTerm: string): boolean參數
| 參數名稱 | 類型 | 說明 |
|---|---|---|
path | string | 要修改的檔案路徑 |
searchTerm | string | 要搜索的內容 |
// 這將在 file.txt 中搜索 "search term",如果找到則返回 true,否則返回 false
FilesJS.searchInFile('file.txt', 'search term');watchContentChanges
監視檔案內容的變化。
語法
watchContentChanges(path: string, threshold: number): void參數
| 參數名稱 | 類型 | 說明 |
|---|---|---|
path | string | 要修改的檔案路徑 |
threshold | number | 內容變化閾值 |
// 這將監視 file.txt 的內容變化,當變化超過閾值時觸發事件
FilesJS.watchContentChanges('file.txt', 10);writeFile
寫入檔案。
語法
writeFile(path: string, content: string): void參數
| 參數名稱 | 類型 | 說明 |
|---|---|---|
path | string | 要修改的檔案路徑 |
content | string | 要寫入的內容 |
// 這將寫入 file.txt 的內容
FilesJS.writeFile('file.txt', 'Hello, World!');writeLines
寫入檔案。
語法
writeLines(path: string, lines: string[]): void參數
| 參數名稱 | 類型 | 說明 |
|---|---|---|
path | string | 要修改的檔案路徑 |
lines | string[] | 要寫入的行 |
// 這將寫入 file.txt 的內容
FilesJS.writeLines('file.txt', ['Hello, World!']);壓縮檔操作
backupFile
備份指定路徑的檔案,會在 nekojs/backups/ 創建備份檔案。
語法
backupFile(path: string): void參數
| 參數名稱 | 類型 | 說明 |
|---|---|---|
path | string | 要備份的檔案路徑 |
// 這將備份 example.txt 到 nekojs/backups/ 目錄下,檔名會包含時間戳以確保唯一性
FilesJS.backupFile('example.txt');createZip
建立 ZIP 檔案。
語法
createZip(sourcePath: string, zipPath: string): void參數
| 參數名稱 | 類型 | 說明 |
|---|---|---|
sourcePath | string | 要壓縮的資料夾或檔案路徑 |
zipPath | string | ZIP 檔案的路徑 |
// 這將把 source/ 資料夾壓縮成 archive.zip
FilesJS.createZip('source/', 'archive.zip');scheduleBackup
安排備份任務。
語法
scheduleBackup(path: string, ticks: number): void參數
| 參數名稱 | 類型 | 說明 |
|---|---|---|
path | string | 要修改的檔案路徑 |
ticks | number | 備份間隔(遊戲刻) |
// 這將安排一個備份任務,100 遊戲刻後備份 file.txt
FilesJS.scheduleBackup('file.txt', 100);共通操作
copy
複製檔案。
語法
copy(source: string, target: string): void參數
| 參數名稱 | 類型 | 說明 |
|---|---|---|
source | string | 要複製的原始檔案路徑 |
target | string | 要複製到的目标檔案路徑 |
// 這將複製 old/example.txt 到 new/example.txt
FilesJS.copy('old/example.txt', 'new/');delete
刪除檔案或資料夾。
語法
delete(path: string): void參數
| 參數名稱 | 類型 | 說明 |
|---|---|---|
path | string | 要刪除的檔案或資料夾路徑 |
// 這將刪除 file.txt 檔案
FilesJS.delete('file.txt');move
將多個檔案移動到另一個位置。
語法
move(source: string, target: string): void參數
| 參數名稱 | 類型 | 說明 |
|---|---|---|
source | string | 要移動的檔案或目錄路徑 |
target | string | 目標位置的路徑 |
// 這將把 old/source.txt 移動到 new/target.txt
FilesJS.move('old/source.txt', 'new/target.txt');stopWatching
停止監視檔案。
語法
stopWatching(path: string): void參數
| 參數名稱 | 類型 | 說明 |
|---|---|---|
path | string | 要修改的檔案路徑 |
// 這將停止監視 file.txt
FilesJS.stopWatching('file.txt');