转化File为Reader

2025/04/06

1. 概述

在本快速教程中,我们将说明如何使用普通Java、Guava或Apache Commons IO将File转换为Reader。

2. 使用纯Java

我们首先看一下简单的Java解决方案:

@Test
public void givenUsingPlainJava_whenConvertingFileIntoReader_thenCorrect() throws IOException {
    File initialFile = new File("src/test/resources/initialFile.txt");
    initialFile.createNewFile();
    Reader targetReader = new FileReader(initialFile);
    targetReader.close();
}

2. Guava

现在让我们看看同样的转换,这次使用Guava库:

@Test
public void givenUsingGuava_whenConvertingFileIntoReader_thenCorrect() throws IOException {
    File initialFile = new File("src/test/resources/initialFile.txt");
    com.google.common.io.Files.touch(initialFile);
    Reader targetReader = Files.newReader(initialFile, Charset.defaultCharset());
    targetReader.close();
}

3. Commons IO

最后,让我们使用Commons IO通过中间字节数组进行转换:

@Test
public void givenUsingCommonsIO_whenConvertingFileIntoReader_thenCorrect() throws IOException {
    File initialFile = new File("src/test/resources/initialFile.txt");
    FileUtils.touch(initialFile);
    FileUtils.write(initialFile, "With Commons IO");
    byte[] buffer = FileUtils.readFileToByteArray(initialFile);
    Reader targetReader = new CharSequenceReader(new String(buffer));
    targetReader.close();
}

以上就是将File转换为Reader的三种方法:首先使用纯Java,然后使用Guava,最后使用Apache Commons IO库。

Show Disqus Comments

Post Directory

扫码关注公众号:Taketoday
发送 290992
即可立即永久解锁本站全部文章