RuntimeException rethrow(final Throwable throwable) throws T {
+ throw (T) throwable;
+ }
+
/** The place that the values get written. */
private final Appendable appendable;
@@ -300,7 +313,7 @@ public final class CSVPrinter implements Flushable, Closeable {
try {
print(t);
} catch (final IOException e) {
- throw IOUtils.rethrow(e);
+ throw rethrow(e);
}
});
println();
@@ -489,7 +502,7 @@ public final class CSVPrinter implements Flushable, Closeable {
try {
printRecordObject(t);
} catch (final IOException e) {
- throw IOUtils.rethrow(e);
+ throw rethrow(e);
}
});
}
diff --git a/src/main/java/org/apache/commons/csv/IOUtils.java b/src/main/java/org/apache/commons/csv/IOUtils.java
deleted file mode 100644
index 4fb7120f..00000000
--- a/src/main/java/org/apache/commons/csv/IOUtils.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.commons.csv;
-
-import java.io.IOException;
-import java.io.Reader;
-import java.io.Writer;
-import java.nio.Buffer;
-import java.nio.CharBuffer;
-
-/** Copied from Apache Commons IO. */
-final class IOUtils {
-
- /**
- * The default buffer size ({@value}).
- */
- static final int DEFAULT_BUFFER_SIZE = 1024 * 4;
-
- /**
- * Represents the end-of-file (or stream).
- */
- private static final int EOF = -1;
-
- /**
- * Copies chars from a large (over 2GB) {@code Reader} to an {@code Appendable}.
- *
- * This method buffers the input internally, so there is no need to use a
- * {@code BufferedReader}.
- *
- * The buffer size is given by {@link #DEFAULT_BUFFER_SIZE}.
- *
- * @param input the {@code Reader} to read from
- * @param output the {@code Appendable} to append to
- * @return the number of characters copied
- * @throws NullPointerException if the input or output is null
- * @throws IOException if an I/O error occurs
- * @since 2.7
- */
- static long copy(final Reader input, final Appendable output) throws IOException {
- return copy(input, output, CharBuffer.allocate(DEFAULT_BUFFER_SIZE));
- }
-
- /**
- * Copies chars from a large (over 2GB) {@code Reader} to an {@code Appendable}.
- *
- * This method uses the provided buffer, so there is no need to use a
- * {@code BufferedReader}.
- *
- *
- * @param input the {@code Reader} to read from
- * @param output the {@code Appendable} to write to
- * @param buffer the buffer to be used for the copy
- * @return the number of characters copied
- * @throws NullPointerException if the input or output is null
- * @throws IOException if an I/O error occurs
- * @since 2.7
- */
- static long copy(final Reader input, final Appendable output, final CharBuffer buffer) throws IOException {
- long count = 0;
- int n;
- while (EOF != (n = input.read(buffer))) {
- ((Buffer) buffer).flip();
- output.append(buffer, 0, n);
- count += n;
- }
- return count;
- }
-
- /**
- * Copies chars from a large (over 2GB) {@code Reader} to a {@code Writer}.
- *
- * This method buffers the input internally, so there is no need to use a
- * {@code BufferedReader}.
- *
- *
- * The buffer size is given by {@link #DEFAULT_BUFFER_SIZE}.
- *
- *
- * @param input the {@code Reader} to read from
- * @param output the {@code Writer} to write to
- * @return the number of characters copied
- * @throws NullPointerException if the input or output is null
- * @throws IOException if an I/O error occurs
- * @since 1.3
- */
- static long copyLarge(final Reader input, final Writer output) throws IOException {
- return copyLarge(input, output, new char[DEFAULT_BUFFER_SIZE]);
- }
-
- /**
- * Copies chars from a large (over 2GB) {@code Reader} to a {@code Writer}.
- *
- * This method uses the provided buffer, so there is no need to use a
- * {@code BufferedReader}.
- *
- *
- * @param input the {@code Reader} to read from
- * @param output the {@code Writer} to write to
- * @param buffer the buffer to be used for the copy
- * @return the number of characters copied
- * @throws NullPointerException if the input or output is null
- * @throws IOException if an I/O error occurs
- * @since 2.2
- */
- static long copyLarge(final Reader input, final Writer output, final char[] buffer) throws IOException {
- long count = 0;
- int n;
- while (EOF != (n = input.read(buffer))) {
- output.write(buffer, 0, n);
- count += n;
- }
- return count;
- }
-
- /**
- * Throws the given throwable.
- *
- * @param The throwable cast type.
- * @param throwable The throwable to rethrow.
- * @return nothing because we throw.
- * @throws T Always thrown.
- */
- @SuppressWarnings("unchecked")
- static RuntimeException rethrow(final Throwable throwable) throws T {
- throw (T) throwable;
- }
-
- /** No instances. */
- private IOUtils() {
- // Noop
- }
-
-}
diff --git a/src/test/java/org/apache/commons/csv/CSVPrinterTest.java b/src/test/java/org/apache/commons/csv/CSVPrinterTest.java
index 33179246..6cc542dd 100644
--- a/src/test/java/org/apache/commons/csv/CSVPrinterTest.java
+++ b/src/test/java/org/apache/commons/csv/CSVPrinterTest.java
@@ -61,6 +61,7 @@ import java.util.Vector;
import java.util.stream.Stream;
import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.IOUtils;
import org.apache.commons.io.output.NullOutputStream;
import org.apache.commons.lang3.StringUtils;
import org.h2.tools.SimpleResultSet;
diff --git a/src/test/java/org/apache/commons/csv/IOUtilsTest.java b/src/test/java/org/apache/commons/csv/IOUtilsTest.java
deleted file mode 100644
index 689fd195..00000000
--- a/src/test/java/org/apache/commons/csv/IOUtilsTest.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.commons.csv;
-
-import static org.junit.jupiter.api.Assertions.assertThrowsExactly;
-
-import java.io.IOException;
-
-import org.junit.jupiter.api.Test;
-
-public class IOUtilsTest {
-
- @Test
- public void testRethrow() {
- assertThrowsExactly(IOException.class, () -> IOUtils.rethrow(new IOException()));
- }
-
-}