# `String.lines()` – 获取行流 – Java 11

> 原文： [https://howtodoinjava.com/java11/string-to-stream-of-lines/](https://howtodoinjava.com/java11/string-to-stream-of-lines/)

学习 [Java 11](https://howtodoinjava.com/java11/features-enhancements/) 中的**使用 [`String.lines()`](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html#lines())方法将多行字符串转换为行**。

当我们要从文件中读取内容并分别处理每个字符串时，此方法很有用。

## 1\. `String.lines()` API

`lines()`方法是[静态](https://howtodoinjava.com/java/basics/java-static-keyword/)方法。 它返回从行终止符分隔的给定多行字符串中提取的*行流*。

```java
/**
* returns - the stream of lines extracted from given string
*/
public Stream<String> lines()

```

**行终止符**是以下之一：

*   换行符（`\n`）
*   回车符（`\r`）
*   回车符后紧跟换行符（`\r\n`）

> 根据定义，**行是零个或多个字符，后接行终止符**。 一行不包括行终止符。

`lines()`方法返回的流包含此字符串中的行，其顺序与多行中出现的顺序相同。

## 2\. Java 程序获取行流

Java 程序[读取文件](https://howtodoinjava.com/java/io/java-read-file-to-string-examples/)，并以行流的形式获取内容。

```java
import java.io.IOException;
import java.util.stream.Stream;

public class Main 
{
	public static void main(String[] args) 
	{
		try 
		{
			String str = "A \n B \n C \n D"; 

			Stream<String> lines = str.lines();

			lines.forEach(System.out::println);
		} 
		catch (IOException e) 
		{
			e.printStackTrace();
		}
	}
}

```

程序输出。

```java
A
B
C
D

```

将有关**将字符串读入流**的行中的问题，提供给我。

学习愉快！