{"id":23244670,"url":"https://github.com/bytemechanics/s3-nio-filesystem","last_synced_at":"2025-04-06T00:16:40.951Z","repository":{"id":30091086,"uuid":"123877724","full_name":"bytemechanics/s3-nio-filesystem","owner":"bytemechanics","description":"S3 NIO2 filesystem implementation","archived":false,"fork":false,"pushed_at":"2021-12-14T12:49:00.000Z","size":72,"stargazers_count":4,"open_issues_count":2,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-12T06:24:25.463Z","etag":null,"topics":["filesystem","java","library","s3"],"latest_commit_sha":null,"homepage":"https://s3-nio-filesystem.bytemechanics.org","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bytemechanics.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":"2018-03-05T06:55:08.000Z","updated_at":"2020-07-23T21:45:59.000Z","dependencies_parsed_at":"2022-07-15T16:47:17.843Z","dependency_job_id":null,"html_url":"https://github.com/bytemechanics/s3-nio-filesystem","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bytemechanics%2Fs3-nio-filesystem","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bytemechanics%2Fs3-nio-filesystem/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bytemechanics%2Fs3-nio-filesystem/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bytemechanics%2Fs3-nio-filesystem/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bytemechanics","download_url":"https://codeload.github.com/bytemechanics/s3-nio-filesystem/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247415967,"owners_count":20935387,"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":["filesystem","java","library","s3"],"created_at":"2024-12-19T07:10:15.518Z","updated_at":"2025-04-06T00:16:40.928Z","avatar_url":"https://github.com/bytemechanics.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# S3 NIO Filesystem\n[![Latest version](https://maven-badges.herokuapp.com/maven-central/org.bytemechanics.filesystem/s3-nio-filesystem/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.bytemechanics.filesystem/s3-nio-filesystem/badge.svg)\n[![Quality Gate](https://sonarcloud.io/api/badges/gate?key=org.bytemechanics.filesystem%3As3-nio-filesystem)](https://sonarcloud.io/dashboard/index/org.bytemechanics.filesystem%3As3-nio-filesystem)\n[![Coverage](https://sonarcloud.io/api/badges/measure?key=org.bytemechanics.filesystem%3As3-nio-filesystem\u0026metric=coverage)](https://sonarcloud.io/dashboard/index/org.bytemechanics.filesystem%3As3-nio-filesystem)\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n\nS3 Filesystem is a library to convert S3 protocol to a NIO2 filesystem\nWarning: This library does not accomplish the zero-dependencies objective\n\n## Motivation\nUtility to test the concept of create a virtual filesystem from s3 service\n\n## Quick start\n1. First of all include the Jar file in your compile and execution classpath.\n### Maven\n```Maven\n\t\u003cdependency\u003e\n\t\t\u003cgroupId\u003eorg.bytemechanics.filesystem\u003c/groupId\u003e\n\t\t\u003cartifactId\u003es3-nio-filesystem\u003c/artifactId\u003e\n\t\t\u003cversion\u003eX.X.X\u003c/version\u003e\n\t\u003c/dependency\u003e\n```\n### Graddle\n```Gradle\ndependencies {\n    compile 'org.bytemechanics.filesystem:s3-nio-filesystem:X.X.X'\n}\n```\n1. Create filesystem\n```Java\npackage mypackage;\nimport java.net.URI;\nimport java.net.URLEncoder;\nimport java.nio.file.FileSystem;\nimport java.nio.file.FileSystems;\nimport java.text.MessageFormat;\nimport java.util.HashMap;\nimport java.util.Map;\npublic class S3FileSystemTest {\n\t\n\tprivate static final String S3URI=\"s3://{0}:{1}@192.168.56.1:9000\";\n\tprivate static final String S3USER=\"9OIA67H2VBDP5T62ZCHK\";\n\tprivate static final String S3PASSWORD=\"7a0iE4IHHeE5Curn8SJJG7Xe5a3plQ/YZ5sgedEM\";\n\tprivate static final String S3BUCKET=\"es-spl\";\n\tprivate static final long PROPERTY_MULTIPART_UPLOAD_MINSIZE=Long.MAX_VALUE;\n\tprivate static final long PROPERTY_CONNECTION_TIMEOUT=100l;\n\tprivate FileSystem fileSystem;\n\t\n\tpublic void S3FileSystemTest() throws IOException{\n\t\tMap\u003cString,String\u003e environment= new HashMap\u003c\u003e();\n\t\tenvironment.put(S3FileSystemEnvironment.PROPERTY_MULTIPART_UPLOAD_MINSIZE.name(),String.valueOf(PROPERTY_MULTIPART_UPLOAD_MINSIZE));\n\t\tenvironment.put(S3FileSystemEnvironment.PROPERTY_CONNECTION_TIMEOUT.name(),String.valueOf(PROPERTY_CONNECTION_TIMEOUT));\n\t\tString encodedUser=URLEncoder.encode(S3USER,\"UTF-8\");\n\t\tString encodedPassword=URLEncoder.encode(S3PASSWORD,\"UTF-8\");\n\t\tURI uri=URI.create(MessageFormat.format(\"s3://{0}:{1}@192.168.56.1:9000/{2}\",encodedUser,encodedPassword,S3BUCKET));\n\t\tfileSystem=FileSystems.newFileSystem(uri,environment);\n\t}\n}\n```\n1. Get path from filesystem\n```Java\n\tPath path=this.fileSystem.getPath(\"test.pdf\");\n```\n## Tested with\n* Minio (https://www.minio.io/)\n* Hitachi (https://www.hitachivantara.com/en-us/products/storage.object-storage.html#categorycontent)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbytemechanics%2Fs3-nio-filesystem","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbytemechanics%2Fs3-nio-filesystem","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbytemechanics%2Fs3-nio-filesystem/lists"}