{"id":24656738,"url":"https://github.com/alexejdumka/directorywatcher","last_synced_at":"2026-04-17T02:32:05.887Z","repository":{"id":272411434,"uuid":"888072319","full_name":"AlexejDumka/DirectoryWatcher","owner":"AlexejDumka","description":"Application monitors a specified directory and when new PDF file is detected , the application converts the PDF into a text file and saves it in a different output directory. ","archived":false,"fork":false,"pushed_at":"2025-01-14T08:25:51.000Z","size":9,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-14T08:27:27.037Z","etag":null,"topics":["java","pdf","txt","virtual-threads"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AlexejDumka.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-13T19:07:59.000Z","updated_at":"2025-01-14T08:32:23.000Z","dependencies_parsed_at":"2025-01-14T09:35:13.644Z","dependency_job_id":"2ba0cb08-4345-4b1b-8423-cc51bfd0284b","html_url":"https://github.com/AlexejDumka/DirectoryWatcher","commit_stats":null,"previous_names":["alexejdumka/directorywatcher"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AlexejDumka/DirectoryWatcher","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexejDumka%2FDirectoryWatcher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexejDumka%2FDirectoryWatcher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexejDumka%2FDirectoryWatcher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexejDumka%2FDirectoryWatcher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AlexejDumka","download_url":"https://codeload.github.com/AlexejDumka/DirectoryWatcher/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexejDumka%2FDirectoryWatcher/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31912373,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T18:22:33.417Z","status":"online","status_checked_at":"2026-04-17T02:00:06.879Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["java","pdf","txt","virtual-threads"],"created_at":"2025-01-25T23:56:48.448Z","updated_at":"2026-04-17T02:32:05.849Z","avatar_url":"https://github.com/AlexejDumka.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"    234567OP/89.# Directory Watcher and PDF Converter\n\nThis project is a Java-based application that continuously monitors a specified directory for new PDF files. When a new PDF file is detected, the application converts the PDF into a text file and saves it in a different output directory. After successful conversion, the original PDF file is deleted to keep the input directory clean. The project uses virtual threads to handle tasks efficiently and employs logging for easy tracking of operations.\n\n***\n## Features\n- **Directory Monitoring:** Watches a specified input directory for any new, modified, or deleted PDF files.\n- **PDF Cleanup:** Deletes the original PDF files after successful conversion.\n- **Centralized Error Handling:** Logs all errors and events to help with debugging and monitoring.\n- **Virtual Threads:** Utilizes Java's virtual threads for efficient task management.\n\n***\n## Prerequisites\n- Java 21 or higher (to support virtual threads)\n- [Apache Maven](https://maven.apache.org/) (for building and running the project)\n- [PDFBox library](https://pdfbox.apache.org/) (already configured in the project dependencies)\n\n\n***\n## Installation\n#### Clone the repository:\n\n```\ngit clone https://github.com/alexej.dumka/directory-watcher-pdf-converter.git\ncd directory-watcher-pdf-converter\n```\n\n#### Build the project using Maven:\n```\nmvn clean package\n```\n***\n## Setup\nEnsure you have two directories created within the project root:\n**IN** - This is where you place PDF files for conversion.\n**OUT** - Converted text files will be saved here.\nIf these directories do not exist, the application will create them automatically.\n\u003e Note: Make sure`--Java 21 or higher` is installed and available on your system's PATH.\n\n***\n## Running the Application\nAfter building the project, run the application using the following command:\n\n```\njava -cp target/directory-watcher-1.0-SNAPSHOT.jar com.demo.DirectoryWatcherTask\n```\n\n#### Example of usage:\n\n1. Place a PDF file inside the IN directory.\n2. The application will detect the new file, convert it to a .txt file, and save it in the OUT directory.\n3. Once converted, the original PDF file will be deleted from the IN directory.\n\n***\n## Logging\nThe application uses Java's built-in logging system. Logs will provide information on the status of file conversions, errors, and any other significant events.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexejdumka%2Fdirectorywatcher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falexejdumka%2Fdirectorywatcher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexejdumka%2Fdirectorywatcher/lists"}