{"id":18896535,"url":"https://github.com/lukas9812/filewriter","last_synced_at":"2026-03-02T10:02:02.429Z","repository":{"id":250211676,"uuid":"833806165","full_name":"lukas9812/FileWriter","owner":"lukas9812","description":"Project enables to save files with predefined custom name and its maximal size in MB. If this size is exceeded a new file with increment index is created.","archived":false,"fork":false,"pushed_at":"2024-08-15T07:38:42.000Z","size":559,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-05T22:03:20.648Z","etag":null,"topics":["files","filesystem","size-optimization"],"latest_commit_sha":null,"homepage":"","language":"C#","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/lukas9812.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-07-25T19:37:24.000Z","updated_at":"2024-12-11T15:44:07.000Z","dependencies_parsed_at":"2024-11-08T08:48:26.343Z","dependency_job_id":null,"html_url":"https://github.com/lukas9812/FileWriter","commit_stats":null,"previous_names":["lukas9812/filewriter"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lukas9812/FileWriter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukas9812%2FFileWriter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukas9812%2FFileWriter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukas9812%2FFileWriter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukas9812%2FFileWriter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lukas9812","download_url":"https://codeload.github.com/lukas9812/FileWriter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukas9812%2FFileWriter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29998074,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-02T09:59:02.300Z","status":"ssl_error","status_checked_at":"2026-03-02T09:59:02.001Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["files","filesystem","size-optimization"],"created_at":"2024-11-08T08:34:20.744Z","updated_at":"2026-03-02T10:02:02.404Z","avatar_url":"https://github.com/lukas9812.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NuGet usage:\n\nNuGet: https://www.nuget.org/packages/RollingFileWriter\n\n1. Reference NuGet package via using in your class:\n ```cs\nusing RollingFileWriter;\n ```\n2. Choose among default or parameter constructor\n\n- **Default ctor:** Path is automatically set to \"StoredData/Data_{DateTime.Today:dd_MM_yyyy}\" and maximal file size is set to 500 MB. Values are not possible to configure.\n ```cs\npublic RollingFileWriterService()\n    {\n        _maximalFileSizeInMb = 500;\n        Directory.CreateDirectory(_directoryPath);\n        SetupFileName(string.Empty);\n    }\n ```\n- **Parameter ctor:** Fully configurable values. If you'll not fill last parameter **maximalFileSizeInMb** maximal file size will be automatically set to 500 MB.\n```cs\npublic RollingFileWriterService(string directoryPath, string fileName, int maximalFileSizeInMb = 500)\n    {\n        _maximalFileSizeInMb = maximalFileSizeInMb;\n        _directoryPath = directoryPath;\n        Directory.CreateDirectory(_directoryPath);\n        SetupFileName(fileName);\n    }\n ```\n3. From created instance call method with incoming parameter as string or object:\n\n```cs\nWriteData(string data)\n```\nOR\n\n```cs\nWriteData(object dataAsObject)\n```\n\n4. All written data you can find in **/bin** folder under mentioned folder name.\n\n# Whole solution structure\n\nThe aim of this project is to develop an application that saves files with a preset size limit, specified in the appsettings.json file. If a file exceeds this size limit (in MB), a new file will be created with an incremented index added to the end of the file name (e.g., Data_26_07_2024_1, Data_26_07_2024_2, etc.).\n\nAdditionally, the application offers the option to filter specific properties to prevent the storage of unnecessary data.\n\nArchitecture:\n![image](https://github.com/user-attachments/assets/fa4ceab9-82f8-425f-a362-0120d88e9dc9)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flukas9812%2Ffilewriter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flukas9812%2Ffilewriter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flukas9812%2Ffilewriter/lists"}