{"id":21597537,"url":"https://github.com/kgniewek/filereader-dataprocessorpractise","last_synced_at":"2025-03-18T11:26:12.964Z","repository":{"id":235808750,"uuid":"791296380","full_name":"kgniewek/FileReader-DataProcessorPractise","owner":"kgniewek","description":"2021 Java practice project focused on file reading and data processing. It includes functions for custom exception handling, data conversion into objects, and basic filtering of records based on specific criteria. A practice of Java fundamentals","archived":false,"fork":false,"pushed_at":"2024-04-26T13:25:02.000Z","size":19,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-24T17:45:03.720Z","etag":null,"topics":["2021","data-conversion","data-filtering","data-processing","error-handling","java","reading-data"],"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/kgniewek.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-04-24T13:11:34.000Z","updated_at":"2024-04-29T20:30:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"cf822141-5706-40b9-a584-6bfb1dcfa9f2","html_url":"https://github.com/kgniewek/FileReader-DataProcessorPractise","commit_stats":null,"previous_names":["kgniewek/filereader-dataprocessorpractise"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kgniewek%2FFileReader-DataProcessorPractise","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kgniewek%2FFileReader-DataProcessorPractise/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kgniewek%2FFileReader-DataProcessorPractise/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kgniewek%2FFileReader-DataProcessorPractise/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kgniewek","download_url":"https://codeload.github.com/kgniewek/FileReader-DataProcessorPractise/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244209682,"owners_count":20416329,"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":["2021","data-conversion","data-filtering","data-processing","error-handling","java","reading-data"],"created_at":"2024-11-24T18:09:15.908Z","updated_at":"2025-03-18T11:26:12.957Z","avatar_url":"https://github.com/kgniewek.png","language":"Java","readme":"# 2021 Java Practice Project - Simple File Reader and Data Processor\n\n### Overview\n\nThis small Java project serves as a practice exercise to explore basic file operations, exception handling, and data manipulation in Java. The application reads from a simple text file containing details of individuals, processes the information, and performs basic filtering based on criteria.\n\n### Functionality\n\n- **Reading Data**: The application reads data from `people.txt` using `FileHelper`, which stores each line as a string in a list.\n- **Data Conversion**: `PersonOperationHelper` converts these string entries into `Person` objects, using a custom format specified in the text file.\n- **Error Handling**: Implements custom exception handling for data conversion errors, particularly focusing on salary values.\n- **Data Filtering**: The `Main` class includes a method to filter `Person` objects based on surname start, sex, and a limit to the number of results.\n\n### Usage\n\nTo run this application, compile and execute the `Main.java`. It requires no command line arguments but will automatically process data as per the hardcoded logic in the `main` method.\n\n### Project Structure\n\n- **src/com/company/Main.java**: Contains the `main` method that orchestrates the reading of data from a file, processing it into `Person` objects, and filtering based on specific attributes.\n- **src/First/FileHelper.java**: Handles reading lines from a file and storing them in a list.\n- **src/First/InvalidSalaryException.java**: Custom exception class for handling invalid salary data.\n- **src/First/Person.java**: Data model class representing an individual with attributes like name, surname, age, city, salary, and sex.\n- **src/First/PersonOperationHelper.java**: Provides functionality to convert lines of text into `Person` objects.\n- **src/First/people.txt**: Text file containing semi-colon separated values representing people.\n\nFiles:\n- 📁 **src**\n  - 📁 **com**\n    - 📁 **company**\n      - `Main.java`\n  - 📁 **First**\n    - `FileHelper.java`\n    - `InvalidSalaryException.java`\n    - `people.txt`\n    - `Person.java`\n    - `PersonOperationHelper.java`\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkgniewek%2Ffilereader-dataprocessorpractise","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkgniewek%2Ffilereader-dataprocessorpractise","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkgniewek%2Ffilereader-dataprocessorpractise/lists"}