String content = Files.asCharSource(new File("path/to/file"), Charsets.UTF_8).read();
System.out.println(content);
String content = "Hello, Guava IO!";
Files.asCharSink(new File("path/to/file"), Charsets.UTF_8).write(content);
InputStream inputStream = new FileInputStream("path/to/input.txt");
OutputStream outputStream = new FileOutputStream("path/to/output.txt");
ByteSource byteSource = ByteStreams.asByteSource(inputStream);
ByteSink byteSink = ByteStreams.asByteSink(outputStream);
byteSource
.read()
.asCharSource(Charsets.UTF_8)
.readLines()
.stream()
.map(line -> line.toUpperCase())
.forEach(line -> byteSink.write(line.getBytes()));
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>30.1-jre</version>
</dependency>