Apache Commons IO https://commons.apache.org/io/
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Gary Gregory aa916ea5d5
Fix UnsynchronizedByteArrayInputStream.skip() bounds and overflow (#924)
Advance by the actual skipped count and return zero at EOF.
Preserve negative-count rejection and document the skip contract.

Add regression tests for oversized counts, empty streams, bounded
slices, mark/reset, and skipping after close.
2026-11-03 08:11:40 -05:00
.github Bump github/codeql-action from 4.39.0 to 4.39.1 2026-10-26 11:02:54 -04:00
src Fix UnsynchronizedByteArrayInputStream.skip() bounds and overflow (#924) 2026-11-03 08:11:40 -05:00
.asf.yaml Add github.autolink_jira 2026-10-10 08:01:22 -04:00
.gitattributes Update Apache License URL to HTTPS 2025-05-23 20:53:08 -04:00
.gitignore Add NetBean IDE metadata files to .gitignore 2025-12-06 11:39:55 -05:00
AGENTS.md Use Markdown link 2026-10-28 08:37:23 -04:00
CODE_OF_CONDUCT.md Update Apache License URL to HTTPS 2025-05-23 20:53:08 -04:00
CONTRIBUTING.md Update legacy GitHub links in CONTRIBUTING.md 2026-06-11 14:24:01 -04:00
LICENSE.txt Update Apache License URL to HTTPS 2025-05-23 20:53:08 -04:00
NOTICE.txt Bump notice file end year from 2025 to 2026 2025-12-29 08:51:45 -05:00
pom.xml Bump org.apache.commons:commons-parent from 106 to 107 2026-10-31 16:04:34 -04:00
PROPOSAL.html Update Apache License URL to HTTPS 2025-05-23 20:53:08 -04:00
README.md Prepare for the next release candidate 2026-01-19 15:40:04 +00:00
RELEASE-NOTES.txt Prepare for the next release candidate 2026-04-19 11:22:56 +00:00
SECURITY.md Update Apache License URL to HTTPS 2025-05-23 20:53:08 -04:00

Apache Commons IO

Java CI Maven Central Javadocs CodeQL OpenSSF Scorecard

The Apache Commons IO library contains utility classes, stream implementations, file filters, file comparators, endian transformation classes, and much more.

Documentation

More information can be found on the Apache Commons IO homepage. The Javadoc can be browsed. Questions related to the usage of Apache Commons IO should be posted to the user mailing list.

Getting the latest release

You can download source and binaries from our download page.

Alternatively, you can pull it from the central Maven repositories:

<dependency>
  <groupId>commons-io</groupId>
  <artifactId>commons-io</artifactId>
  <version>2.22.0</version>
</dependency>

Building

Building requires a Java JDK and Apache Maven. The required Java version is found in the pom.xml as the maven.compiler.source property.

From a command shell, run mvn without arguments to invoke the default Maven goal to run all tests and checks.

Contributing

We accept Pull Requests via GitHub. The developer mailing list is the main channel of communication for contributors. There are some guidelines which will make applying PRs easier for us:

  • No tabs! Please use spaces for indentation.
  • Respect the existing code style for each file.
  • Create minimal diffs - disable on save actions like reformat source code or organize imports. If you feel the source code should be reformatted create a separate PR for this change.
  • Provide JUnit tests for your changes and make sure your changes don't break any existing tests by running mvn.
  • Before you push a PR, run mvn (without arguments). This runs the default goal which contains all build checks.
  • To see the code coverage report, regardless of coverage failures, run mvn clean site -Dcommons.jacoco.haltOnFailure=false -Pjacoco

If you plan to contribute on a regular basis, please consider filing a contributor license agreement. You can learn more about contributing via GitHub in our contribution guidelines.

License

This code is licensed under the Apache License v2.

See the NOTICE.txt file for required notices and attributions.

Donating

You like Apache Commons IO? Then donate back to the ASF to support development.

Additional Resources

Apache Commons Components

Please see the list of components