# javakam/FileOperator

🔥 涵盖了Android系统文件的创建/删除/复制/打开文件(目录)、获取文件(目录)大小、获取常用目录、获取文件名称及后缀、获取MimeType以及MediaStore和SAF的相关操作等常用功能，并且也处理了获取文件Uri/Path的兼容问题、图片压缩和文件选择等功能。

Repository: https://github.com/javakam/FileOperator
Canonical: https://ross.abutalabs.com/products/fileoperator
Language: Kotlin
License: Apache-2.0
License Family: permissive
Topics: fileoperator, filepicker, fileutils, filepath, fileselector, fileprovider, mimetype, file, android, kotlin
Last push: 2024-03-15T02:29:06+00:00

## Health v2 (maintenance only)
Score: 32/100 (v2, computed 2026-09-03T02:39:23.370411+00:00)
- activity 0, release rhythm 35, longevity 100
- inputs: {"age_days": 2263, "days_push": 902, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1469, forks 160 (observed 2026-08-28T04:04:48.982371+00:00)

## What it is
An Android file operations library covering file creation/deletion/copying, opening files and directories, MIME types, MediaStore and SAF handling, plus URI/Path compatibility for Android 4.4+. It also bundles a file selector and image compression (based on Luban).

## Use cases
- handle android scoped storage file operations
- pick files or images in an android app
- get file mime type from path or uri
- convert between file uri and path on android
- compress images before upload on android
- get file or directory size on android
- delete outdated cache files automatically
- open a file with an appropriate android app

## When to choose
- building an Android app that needs broad file I/O across Android 4.4 through Android 11+
- you need MediaStore/SAF compatibility and URI/Path conversion in one library
- you want a built-in file picker with image compression

## When to avoid
- developing for platforms other than Android
- you only need a tiny single utility and prefer a minimal dependency
- your project requires a library with frequent maintenance beyond 2024

## Facets
- artifact type: library
- maturity: active
- function: file-system, image-processing, file-upload
- domain: android-tools, files, mobile-development
- platform: jvm
- tags: file-operations, file-picker, saf, mediastore, scoped-storage, uri-path-compatibility, image-compression, fileprovider, android, mobile

## Member repositories
- javakam/FileOperator (main) score 32

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:48.982371+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T04:34:53.248638+00:00, confidence not recorded.
  - readme: https://github.com/javakam/FileOperator (fetched 2026-08-28T04:04:48.982371+00:00, sha a64cede6ed1c)
- Data as of 2026-08-30T08:39:29.467469+00:00.
