{"id":20672693,"url":"https://github.com/shuoros/jfiler","last_synced_at":"2026-05-27T21:31:50.870Z","repository":{"id":44949893,"uuid":"434114378","full_name":"shuoros/JFiler","owner":"shuoros","description":"Is a library for managing files in Java which easily and with the least line of code gives you the ability to manage files like moving through folders and directories, reading files and folders information, creating new files or folders, making changes to files and folders such as renaming or hiding them, deleting files and folders, searching for files or folders by regex and compressing files and folders or extracting them from zip files.","archived":false,"fork":false,"pushed_at":"2022-01-17T07:28:07.000Z","size":485,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-17T14:16:29.158Z","etag":null,"topics":["compress","file","filemanager","java","zip"],"latest_commit_sha":null,"homepage":"https://shuoros.github.io/jfiler","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shuoros.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-12-02T06:56:24.000Z","updated_at":"2024-03-12T08:43:10.000Z","dependencies_parsed_at":"2022-08-24T07:11:15.643Z","dependency_job_id":null,"html_url":"https://github.com/shuoros/JFiler","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shuoros%2FJFiler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shuoros%2FJFiler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shuoros%2FJFiler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shuoros%2FJFiler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shuoros","download_url":"https://codeload.github.com/shuoros/JFiler/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242899999,"owners_count":20203704,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["compress","file","filemanager","java","zip"],"created_at":"2024-11-16T20:38:32.138Z","updated_at":"2026-05-27T21:31:50.840Z","avatar_url":"https://github.com/shuoros.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n \u003cimg src=\"https://user-images.githubusercontent.com/45015114/149667480-788c34bb-a13b-4e81-93de-fe0ed9420c19.png\" style=\"width:150px; height:150px\" align=\"center\" alt=\"JFiler\" /\u003e\n \u003ch2 align=\"center\"\u003eJFiler\u003c/h2\u003e\n \u003cp align=\"center\"\u003eIs a library for managing files in Java which easily and with the least line of code gives you\n  the ability to manage files like moving through folders and directories, reading files and folders information,\n  creating new files or folders, making changes to files and folders such as renaming or hiding them, deleting files\n  and folders, searching for files or folders by regex and compressing files and folders or extracting them from zip files.\u003c/p\u003e\n\u003c/p\u003e\n  \u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/shuoros/JFiler/actions\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/workflow/status/shuoros/JFiler/Test?label=Test\u0026style=for-the-badge\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://mvnrepository.com/artifact/io.github.shuoros/JFiler\"\u003e\n      \u003cimg src=\"https://img.shields.io/maven-central/v/io.github.shuoros/JFiler?style=for-the-badge\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://www.codefactor.io/repository/github/shuoros/jterminal\"\u003e\n      \u003cimg alt=\"code factor\" src=\"https://img.shields.io/codefactor/grade/github/shuoros/jfiler/main?style=for-the-badge\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"#\"\u003e\n      \u003cimg alt=\"Contributors\" src=\"https://img.shields.io/github/contributors/shuoros/jfiler?style=for-the-badge\u0026color=blueviolet\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/shuoros/JFiler/blob/main/LICENSE\"\u003e\n      \u003cimg alt=\"License\" src=\"https://img.shields.io/github/license/shuoros/jfiler?style=for-the-badge\" /\u003e\n    \u003c/a\u003e\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/shuoros/JFiler/issues\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/issues-raw/shuoros/jfiler?style=for-the-badge\u0026color=red\"/\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/shuoros/JFiler/issues\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/issues-closed-raw/shuoros/jfiler?style=for-the-badge\"/\u003e\n    \u003c/a\u003e\n  \u003c/p\u003e\n  \u003cp align=\"center\"\u003e\n\tIf you like this project, help me by giving me a star =))\u003c3\n  \u003c/p\u003e\n\n## What is in V1.1.0\n\n- Open JFiler in a directory and move in files and folders.\n- Lock home to limit access to just files and folders of a specific location.\n- Create new files and folders.\n- Copy, Cut, Paste, Rename, Delete files and folders.\n- Hide or Unhide files and folders.\n- Zip files and folders.\n- Extract zip files.\n\n## Hello JFiler\n\nTo use JFiler you just need to make a simple call to your desired API and JFiler will do the rest.\n\nFor example JFiler's Static APIs:\n\n```java\nimport io.github.shuoros.jcompressor.compress.ZipCompressor;\nimport io.github.shuoros.jfiler.JFiler;\nimport io.github.shuoros.jfiler.file.File;\n\npublic class Main {\n    public static void main(String[] args) {\n        File file = File.open(//\n                \"/home/soroush/Desktop/test.file\");\n        try {\n            // hide a file or folder\n            JFiler.hide(file);\n\n            // make a file visible\n            JFiler.unHide(file);\n\n            // rename a file or folder\n            JFiler.rename(file, \"newTest.file\");\n\n            // move a file or folder to a destination\n            File destination = File.open(//\n                    \"/home/soroush/Desktop/newFolder/newTest.file\");\n            JFiler.moveTo(file, destination);\n\n            // copy a file or folder to a destination\n            JFiler.copyTo(destination, file);\n            \n            // delete a file or folder\n            JFiler.deleteThe(destination);\n            \n            // create a new file or folder\n            JFiler.createNewFile(\"/home/soroush/Desktop/new.file\");\n            JFiler.createNewFolder(\"/home/soroush/Desktop/newFolder\");\n\n            // compress files or folders to zip file\n            File zipFile = File.open(//\n                    \"/home/soroush/Desktop/file.zip\");\n            JFiler.compress(file, zipFile, new ZipCompressor());\n\n            // extract a zip file\n            File desktop = File.open(//\n                    \"/home/soroush/Desktop\");\n            JFiler.extract(zipFile, desktop, new ZipCompressor());\n\n            // search for a regex in a dir\n            List\u003cString\u003e foundedFiles = JFiler.search(//\n                    \".txt$\"//\n                    , desktop);\n        } catch (Exception e) {\n            e.printStackTrace();\n        }\n    }\n}\n```\n\nFor example JFiler's Home APIs:\n\n```java\nimport io.github.shuoros.jfiler.JFiler;\n\npublic class Main {\n    public static void main(String[] args) {\n        // Opens a JFiler instance in desktop\n        JFiler desktop = JFiler.open(\"/home/soroush/Desktop\");\n        try {\n            // List of home's files and folders\n            List\u003cFile\u003e listOfFiles = desktop.getList();\n            \n            // open a folder\n            desktop.openFolder(\"newFolder\");\n            \n            // go backward\n            desktop.goBackward();\n            \n            // go forward\n            desktop.goForward();\n            \n            // go up in parent folder\n            desktop.goUp();\n            \n            // copy/cut and paste files\n            desktop.copy(\"/test.file\");\n            desktop.paste(\"/newFolder/test.file\");\n            \n            // delete a file\n            desktop.delete(\"/newFolder/test.file\");\n        } catch (Exception e) {\n            e.printStackTrace();\n        }\n    }\n}\n```\n\n## Installation\n\nYou can use **JFiler** with any project management tool:\n\n### Maven\n\n```xml\n\u003c!-- https://mvnrepository.com/artifact/io.github.shuoros/JFiler --\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003eio.github.shuoros\u003c/groupId\u003e\n    \u003cartifactId\u003eJFiler\u003c/artifactId\u003e\n    \u003cversion\u003e1.1.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n### Gradle\n\n```gradle\n// https://mvnrepository.com/artifact/io.github.shuoros/JFiler\nimplementation group: 'io.github.shuoros', name: 'JFiler', version: '1.1.0'\n```\n\nOr\n\n```gradle\n// https://mvnrepository.com/artifact/io.github.shuoros/JFiler\nimplementation 'io.github.shuoros:JFiler:1.1.0'\n```\n\nAnd in **Kotlin**\n\n```gradle\n// https://mvnrepository.com/artifact/io.github.shuoros/JFiler\nimplementation(\"io.github.shuoros:JFiler:1.1.0\")\n```\n\n### SBT\n\n```sbt\n// https://mvnrepository.com/artifact/io.github.shuoros/JFiler\nlibraryDependencies += \"io.github.shuoros\" % \"JFiler\" % \"1.1.0\"\n```\n\n### Ivy\n\n```xml\n\u003c!-- https://mvnrepository.com/artifact/io.github.shuoros/JFiler --\u003e\n\u003cdependency org=\"io.github.shuoros\" name=\"JFiler\" rev=\"1.1.0\"/\u003e\n```\n\n### Grape\n\n```java\n// https://mvnrepository.com/artifact/io.github.shuoros/JFiler\n@Grapes(\n        @Grab(group = 'io.github.shuoros', module = 'JFiler', version = '1.1.0')\n)\n```\n\n### Leiningen\n\n```clj\n;; https://mvnrepository.com/artifact/io.github.shuoros/JFiler\n[io.github.shuoros/JFiler \"1.1.0\"]\n```\n\n## Authors\n\nJFiler is developed by [Soroush Shemshadi](https://github.com/shuoros)\nand [contributors](https://github.com/shuoros/JFiler/blob/main/CONTRIBUTORS.md).\n\n## Contribution\n\nIf you want to contribute on this project, Please read\nthe [contribution guide](https://github.com/shuoros/JFiler/blob/main/CONTRIBUTE.md).\n\n## Releases\n\nTo see the changes in different versions of JFiler, you can read\nthe [release notes](https://github.com/shuoros/JFiler/blob/main/RELEASENOTES.md).\n\n## Issues\n\nIf you encounter a bug or vulnerability, please read\nthe [issue policy](https://github.com/shuoros/JFiler/blob/main/ISSUES.md).\n\n## Documentation\n\nTo learn how to work with JFiler, please take a look at the [/doc](https://github.com/shuoros/JFiler/tree/main/doc)\nfolder.\n\n## Acknowledgement\n\nA great thanks to [@sarahrajabi](https://github.com/sarahrajabi) for designing the logo.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshuoros%2Fjfiler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshuoros%2Fjfiler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshuoros%2Fjfiler/lists"}