# 文件`readString()` API – 将文件读取为 Java 中的字符串

> 原文： [https://howtodoinjava.com/java11/files-readstring-read-file-to-string/](https://howtodoinjava.com/java11/files-readstring-read-file-to-string/)

学习使用[**`Files.readString(path)`**](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/file/Files.html#readString(java.nio.file.Path))方法将文件读取为 Java 字符串。 该 API 已在 [Java 11](https://howtodoinjava.com/java11/features-enhancements/) 中引入。

## 1\. 文件`readString()`方法

`java.nio.file.Files`类具有两个重载方法。

```java
public static String readString​(Path path) throws IOException

public static String readString​(Path path, Charset cs) throws IOException

```

*   第一种方法将文件中的所有内容读取为字符串，然后使用 **UTF-8** 字符集将其从字节解码为字符。

    该方法可确保在读取所有内容或引发 I/O 错误或其他运行时异常时关闭文件。

*   第一种方法等效于`readString(path, StandardCharsets.UTF_8)`。
*   第二种方法与仅使用指定字符集的方法相同。
*   请注意，这些方法不适用于读取非常大的文件。 否则，如果文件过大（例如，文件大小大于 2GB），它们可能会抛出`OutOfMemoryError`。

## 2\. 文件`readString()`示例

Java 程序使用`Files.readString()`方法将文件读取为字符串。

```java
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.Files;
import java.io.IOException;

public class Main 
{
	public static void main(String[] args) 
	{
		Path filePath = Paths.get("C:/", "temp", "test.txt");

		try 
		{
			String content = Files.readString(filePath);

			System.out.println(content);
		} 
		catch (IOException e) 
		{
			e.printStackTrace();
		}
	}
}

```

程序输出。

```java
Hello Java Learner !!

```

文件`c:/temp/test.txt`的位置在这里。

```java
Hello Java Learner !!

```

将我的问题放在评论部分。

学习愉快！