简述:
写一个工具类用来转换InputStream为String
包括输入流和文件流
设计及实现:
Test 1. 直接从输入流中读入,以该行为空为结束流输入的条件
将inputStream中得到的输入转换为了一串String:
Test 2. 从文件流中得到输入,并转换为String
从文本文件读入,之后转换为String输出
代码:
package test.java_request;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
class StreamToString{
public static String ConvertToString(InputStream inputStream){
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
StringBuilder result = new StringBuilder();
String line = null;
try {
while(!(line = bufferedReader.readLine()).equals("")){
result.append(line + "\n");
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try{
inputStreamReader.close();
inputStream.close();
bufferedReader.close();
}catch(IOException e){
e.printStackTrace();
}
}
return result.toString();
}
public static String ConvertToString(FileInputStream inputStream){
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
StringBuilder result = new StringBuilder();
String line = null;
try {
while((line = bufferedReader.readLine()) != null){
result.append(line + "\n");
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try{
inputStreamReader.close();
inputStream.close();
bufferedReader.close();
}catch(IOException e){
e.printStackTrace();
}
}
return result.toString();
}
}
public class Test1 {
public static void main(String[] args) {
String result = null;
//InputStream to String
System.out.println("Test 1 ————");
System.out.println("Please Input:");
InputStream inputStream = System.in;
result = StreamToString.ConvertToString(inputStream);
System.out.println(result);
//Test 2 File Stream to String
System.out.println("\nTest 2 ———— ");
System.out.println("Read From File: ");
String filePath = "./src/test/java_request/input.txt";
try {
FileInputStream fileInputStream = new FileInputStream(filePath);
result = StreamToString.ConvertToString(fileInputStream);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
System.out.println(result);
}
}
输出: