Java 主流的 Inputstream 转 String 的方法
    		       		warning:
    		            这篇文章距离上次修改已过447天,其中的内容可能已经有所变动。
    		        
        		                
                在Java中,将InputStream转换为String的常用方法是使用java.util.Scanner或java.io.BufferedReader配合java.io.InputStreamReader。以下是一个使用Scanner的示例:
import java.io.InputStream;
import java.util.Scanner;
 
public class InputStreamToString {
    public static String convert(InputStream inputStream) {
        Scanner scanner = new Scanner(inputStream).useDelimiter("\\A");
        return scanner.hasNext() ? scanner.next() : "";
    }
    
    public static void main(String[] args) {
        // 示例:从某个输入流获取字符串
        // InputStream inputStream = ...;
        // String str = convert(inputStream);
        // 打印字符串
        // System.out.println(str);
    }
}使用BufferedReader的示例:
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.IOException;
 
public class InputStreamToString {
    public static String convert(InputStream inputStream) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
        StringBuilder stringBuilder = new StringBuilder();
        String line;
        while ((line = reader.readLine()) != null) {
            stringBuilder.append(line).append("\n");
        }
        return stringBuilder.toString();
    }
    
    public static void main(String[] args) {
        // 示例:从某个输入流获取字符串
        // InputStream inputStream = ...;
        // String str = "";
        // try {
        //     str = convert(inputStream);
        // } catch (IOException e) {
        //     e.printStackTrace();
        // }
        // 打印字符串
        // System.out.println(str);
    }
}这两种方法都可以将InputStream的内容转换为String。选择哪种方法取决于具体需求,例如是否需要处理大量数据或是简单的文本读取。
评论已关闭