如何在 Java 中将InputStream
转换为字符串
原文:https://www.studytonight.com/java-examples/how-to-convert-inputstream-to-string-in-java
在这篇文章中,我们将使用InputStream
读取一个文件,然后将其转换为字符串。了解文件处理操作所需的转换和要求非常有用。
要转换输入流,有几种方法,下面介绍其中两种。我们使用 Java Scanner
类和 Java 8 Stream 概念将一个流转换成字符串。
这里,我们有一个示例文件 abc.txt ,其中包含一些数据,由 Scanner 类读取。
// abc.txt
Welcome to Studytonight.com
It is technical portal.
举例时间:
让我们创建一个从输入流中获取字符串的例子。InputStream
是 Java 中一个用来读取文件的接口,我们用 Scanner 类的nextLine()
方法读取文件数据并返回一个字符串。
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException{
File file = new File("abc.txt");
InputStream is = new FileInputStream(file);
Scanner s = new Scanner(is);
String s1 = "";
while(s.hasNext()) {
s1 += s.nextLine()+"\n";
}
System.out.println(s1);
is.close();
}
}
欢迎来到 Studytonight.com 是技术门户。
另一个例子的时间:
还有另一种从InputStream
获取字符串的方法,例如使用lines()
方法返回数据流,该数据流进一步由collect()
方法收集并作为字符串返回。最后,确保正确关闭文件连接。
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) throws IOException{
File file = new File("abc.txt");
InputStream is = new FileInputStream(file);
String result = new BufferedReader(new InputStreamReader(is))
.lines().collect(Collectors.joining("\n"));
System.out.println(result);
is.close();
}
}
欢迎来到 Studytonight.com 是技术门户。