This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-io.git


The following commit(s) were added to refs/heads/master by this push:
     new a894c74c9 Handling null charset in FileUtils.readLines(File, Charset) 
(#744)
a894c74c9 is described below

commit a894c74c91dd09513f9271c986429d7a0eef9f79
Author: Ryan Kurtz <[email protected]>
AuthorDate: Tue May 6 08:44:55 2025 -0400

    Handling null charset in FileUtils.readLines(File, Charset) (#744)
---
 src/main/java/org/apache/commons/io/FileUtils.java    |  2 +-
 .../java/org/apache/commons/io/FileUtilsTest.java     | 19 +++++++++++++++++++
 2 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/src/main/java/org/apache/commons/io/FileUtils.java 
b/src/main/java/org/apache/commons/io/FileUtils.java
index e04977670..c29399435 100644
--- a/src/main/java/org/apache/commons/io/FileUtils.java
+++ b/src/main/java/org/apache/commons/io/FileUtils.java
@@ -2817,7 +2817,7 @@ public static List<String> readLines(final File file) 
throws IOException {
      * @since 2.3
      */
     public static List<String> readLines(final File file, final Charset 
charset) throws IOException {
-        return Files.readAllLines(file.toPath(), charset);
+        return Files.readAllLines(file.toPath(), Charsets.toCharset(charset));
     }
 
     /**
diff --git a/src/test/java/org/apache/commons/io/FileUtilsTest.java 
b/src/test/java/org/apache/commons/io/FileUtilsTest.java
index b46a55f88..661c41288 100644
--- a/src/test/java/org/apache/commons/io/FileUtilsTest.java
+++ b/src/test/java/org/apache/commons/io/FileUtilsTest.java
@@ -2839,6 +2839,25 @@ public void testReadLines_Errors() {
         assertThrows(UnsupportedCharsetException.class, () -> 
FileUtils.readLines(tempDirFile, "unsupported-charset"));
     }
 
+    @Test
+    public void testReadLines_Defaults() throws Exception {
+        final File file = TestUtils.newFile(tempDirFile, "lines.txt");
+        try {
+            final String[] data = {"hello", "this is", "some text"};
+            TestUtils.createLineFileUtf8(file, data);
+
+            final List<String> lines1 = FileUtils.readLines(file);
+            final List<String> lines2 = FileUtils.readLines(file, (Charset) 
null);
+            final List<String> lines3 = FileUtils.readLines(file, 
Charset.defaultCharset());
+
+            assertEquals(lines1, Arrays.asList(data));
+            assertEquals(lines1, lines2);
+            assertEquals(lines1, lines3);
+        } finally {
+            TestUtils.deleteFile(file);
+        }
+    }
+
     @Test
     @EnabledIf("isPosixFilePermissionsSupported")
     public void testReadLines_IOExceptionOnPosixFileSystem() throws Exception {

Reply via email to