跳至主要內容

FilesJS

芒果凍布丁LirxOwO原創2026/4/18小於 1 分鐘

FilesJS 是 Files NJS 模組的核心 API,提供了一套完整的檔案操作功能。

目錄操作

createDirectory

建立資料夾。

語法
createDirectory(path: string): void
範例
// 這將在當前目錄下建立一個名為 "new/folder" 的資料夾
FilesJS.createDirectory('new/folder');

ensureDirectoryExists

確保目錄存在。

語法
ensureDirectoryExists(path: string): void
範例
// 這將確保 "directory/" 目錄存在,如果不存在則會自動建立
FilesJS.ensureDirectoryExists('directory/');

listDirectories

列出目錄中的所有子目錄。

語法
listDirectories(path: string): string[]
範例
// 這將列出 "directory/" 目錄中的所有子目錄,並返回一個包含子目錄名稱的陣列
FilesJS.listDirectories('directory/');

listFilesRecursively

遞迴列出目錄中的所有檔案。

語法
listFilesRecursively(path: string): string[]
範例
// 這將遞迴列出 "directory/" 目錄中的所有檔案,並返回一個包含所有檔案路徑的陣列
FilesJS.listFilesRecursively('directory/');

listFiles

列出目錄中的所有檔案。

語法
listFiles(path: string): string[]
範例
// 這將列出 "directory/" 目錄中的所有檔案,並返回一個包含檔案名稱的陣列
FilesJS.listFiles('directory/');

watchDirectory

監視目錄中的變化。

語法
watchDirectory(path: string, changeCallback: (path: string) => void): void
範例
// 這將監視 directory/ 的內容變化,當變化超過閾值時觸發事件
FilesJS.watchDirectory('directory/', (changedPath) => {
  console.log(`File changed: ${changedPath}`);
});

檔案操作

appendFile

追加文字至文件末端

語法
appendFile(path: string, content: string): void
範例
// 這將把 "這是要追加的內容。" 追加到 example.txt 的末尾
FilesJS.appendFile('example.txt', '這是要追加的內容。\n');

appendLine

追加一行文字至文件末端

語法
appendLine(path: string, content: string): void
範例
// 這將把 "這是要追加的內容。" 追加到 example.txt 的末尾,並確保它在新的一行
FilesJS.appendLine('example.txt', '這是要追加的內容。\n');

copy

複製檔案。

語法
copy(sourceDir: string, targetDir: string, pattern: string): void
範例
// 這將複製 old/ 資料夾下所有 .txt 檔案到 new/ 資料夾
FilesJS.copy('old/', 'new/', '*.txt');

createFiles

建立檔案。

語法
createFile(path: string, content: string): void
範例
// 這將在當前目錄下建立一個名為 "file.txt" 的檔案,內容為 "Hello, World!"
FilesJS.createFile('file.txt', 'Hello, World!');

exists

檢查檔案或資料夾是否存在。

語法
exists(path: string): boolean
範例
// 這將檢查 file.txt 是否存在
FilesJS.exists('file.txt');

getFileInfo

獲取檔案或資料夾的資訊。

語法
getFileInfo(path: string): FileInfo
範例
// 這將獲取 file.txt 的資訊,並返回一個包含檔案大小、創建時間等資訊的物件
FilesJS.getFileInfo('file.txt');

getFileMD5

獲取檔案的 MD5 哈希值。

語法
getFileMD5(path: string): string
範例
// 這將獲取 file.txt 的 MD5 哈希值
FilesJS.getFileMD5('file.txt');

isFileEmpty

檢查檔案是否為空。

語法
isFileEmpty(path: string): boolean
範例
// 這將檢查 file.txt 是否為空,如果是空的則返回 true,否則返回 false
FilesJS.isFileEmpty('file.txt');

mergeFiles

將多個檔案合併成一個檔案。

語法
mergeFiles(sourcePaths: string[], targetPath: string): void
範例
// 這將把 file1.txt 和 file2.txt 的內容合併到 merged.txt 中
FilesJS.mergeFiles(['file1.txt', 'file2.txt'], 'merged.txt');

processLargeFiles

處理大型檔案。

語法
processLargeFiles(path: string, lineProcessor: (data: string) => void): void
範例
// 這將逐行讀取 large-file.txt,並對每一行調用回調函數來處理數據
FilesJS.processLargeFiles('large-file.txt', (line) => {
  console.log(line);
});

readFile

讀取檔案內容。

語法
readFile(path: string): string
範例
// 這將讀取 file.txt 的內容並返回一個字串
FilesJS.readFile('file.txt');

readLastLines

讀取檔案最後幾行的內容。

語法
readLastLines(path: string, lines: number): string[]
範例
// 這將讀取 file.txt 的最後 5 行內容並返回一個包含這些行的陣列
FilesJS.readLastLines('file.txt', 5);

readLines

讀取檔案的內容。

語法
readLines(path: string): string[]
範例
// 這將讀取 file.txt 的內容並返回一個包含每行內容的陣列
FilesJS.readLines('file.txt');

renameFile

重新命名檔案。

語法
renameFile(oldPath: string, newPath: string): void
範例
// 這將把 old-file.txt 重新命名為 new-file.txt
FilesJS.renameFile('old-file.txt', 'new-file.txt');

replaceInFile

在檔案中替換內容。

語法
replaceInFile(path: string, search: string, replace: string): void
範例
// 這將在 file.txt 中將 "old content" 替換為 "new content"
FilesJS.replaceInFile('file.txt', 'old content', 'new content');

saveJson

將 JSON 數據保存到檔案中。

語法
saveJson(path: string, jsonContent: string): void
範例
// 這將把 { key: 'value' } 以 JSON 格式保存到 file.json 中
FilesJS.saveJson('file.json', JSON.stringify({ key: 'value' }));

searchInFile

在檔案中搜索內容。

語法
searchInFile(path: string, searchTerm: string): boolean
範例
// 這將在 file.txt 中搜索 "search term",如果找到則返回 true,否則返回 false
FilesJS.searchInFile('file.txt', 'search term');

watchContentChanges

監視檔案內容的變化。

語法
watchContentChanges(path: string, threshold: number): void
範例
// 這將監視 file.txt 的內容變化,當變化超過閾值時觸發事件
FilesJS.watchContentChanges('file.txt', 10);

writeFile

寫入檔案。

語法
writeFile(path: string, content: string): void
範例
// 這將寫入 file.txt 的內容
FilesJS.writeFile('file.txt', 'Hello, World!');

writeLines

寫入檔案。

語法
writeLines(path: string, lines: string[]): void
範例
// 這將寫入 file.txt 的內容
FilesJS.writeLines('file.txt', ['Hello, World!']);

壓縮檔操作

backupFile

備份指定路徑的檔案,會在 nekojs/backups/ 創建備份檔案。

語法
backupFile(path: string): void
範例
// 這將備份 example.txt 到 nekojs/backups/ 目錄下,檔名會包含時間戳以確保唯一性
FilesJS.backupFile('example.txt');

createZip

建立 ZIP 檔案。

語法
createZip(sourcePath: string, zipPath: string): void
範例
// 這將把 source/ 資料夾壓縮成 archive.zip
FilesJS.createZip('source/', 'archive.zip');

scheduleBackup

安排備份任務。

語法
scheduleBackup(path: string, ticks: number): void
範例
// 這將安排一個備份任務,100 遊戲刻後備份 file.txt
FilesJS.scheduleBackup('file.txt', 100);

共通操作

copy

複製檔案。

語法
copy(source: string, target: string): void
範例
// 這將複製 old/example.txt 到 new/example.txt
FilesJS.copy('old/example.txt', 'new/');

delete

刪除檔案或資料夾。

語法
delete(path: string): void
範例
// 這將刪除 file.txt 檔案
FilesJS.delete('file.txt');

move

將多個檔案移動到另一個位置。

語法
move(source: string, target: string): void
範例
// 這將把 old/source.txt 移動到 new/target.txt
FilesJS.move('old/source.txt', 'new/target.txt');

stopWatching

停止監視檔案。

語法
stopWatching(path: string): void
範例
// 這將停止監視 file.txt
FilesJS.stopWatching('file.txt');
最近更新:
貢獻者: EvanHsieh0415