`

String与InputStream互转的几种方法

    博客分类:
  • J2SE
 
阅读更多
 /**
     * 利用BufferedReader实现Inputstream转换成String <功能详细描述>
     * 
     * @param in
     * @return String
     */
    
    public static String Inputstr2Str_Reader(InputStream in, String encode)
    {
        
        String str = "";
        try
        {
            if (encode == null || encode.equals(""))
            {
                // 默认以utf-8形式
                encode = "utf-8";
            }
            BufferedReader reader = new BufferedReader(new InputStreamReader(in, encode));
            StringBuffer sb = new StringBuffer();
            
            while ((str = reader.readLine()) != null)
            {
                sb.append(str).append("\n");
            }
            return sb.toString();
        }
        catch (UnsupportedEncodingException e1)
        {
            e1.printStackTrace();
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        
        return str;
    }
    
    /**
     * 利用byte数组转换InputStream------->String <功能详细描述>
     * 
     * @param in
     * @return
     * @see [类、类#方法、类#成员]
     */
    
    public static String Inputstr2Str_byteArr(InputStream in, String encode)
    {
        StringBuffer sb = new StringBuffer();
        byte[] b = new byte[1024];
        int len = 0;
        try
        {
            if (encode == null || encode.equals(""))
            {
                // 默认以utf-8形式
                encode = "utf-8";
            }
            while ((len = in.read(b)) != -1)
            {
                sb.append(new String(b, 0, len, encode));
            }
            return sb.toString();
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        return "";
        
    }
    
    /**
     * 利用ByteArrayOutputStream:Inputstream------------>String <功能详细描述>
     * 
     * @param in
     * @return
     * @see [类、类#方法、类#成员]
     */
    public static String Inputstr2Str_ByteArrayOutputStream(InputStream in,String encode)
    {
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        byte[] b = new byte[1024];
        int len = 0;
        try
        {
            if (encode == null || encode.equals(""))
            {
                // 默认以utf-8形式
                encode = "utf-8";
            }
            while ((len = in.read(b)) > 0)
            {
                out.write(b, 0, len);
            }
            return out.toString(encode);
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        return "";
    }
    
    /**
     * 利用ByteArrayInputStream:String------------------>InputStream <功能详细描述>
     * 
     * @param inStr
     * @return
     * @see [类、类#方法、类#成员]
     */
    public static InputStream Str2Inputstr(String inStr)
    {
        try
        {
            // return new ByteArrayInputStream(inStr.getBytes());
            // return new ByteArrayInputStream(inStr.getBytes("UTF-8"));
            return new StringBufferInputStream(inStr);
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        return null;
    }
分享到:
评论

相关推荐

    Java实现inputstream流的复制代码实例

    InputStream 的主要方法有: * `read()`:读取一个字节 * `read(byte[] b)`:读取多个字节到字节数组中 * `close()`:关闭输入流 InputStream 的限制 InputStream 对象有一个限制:它只能读取一次。也就是说,...

    简单说说JAVA的String和byte[]的关系

    在Java中,可以通过以下几种方式实现`String`与`byte[]`之间的转换: 1. **String转byte[]**: - `getBytes()`: `String`类提供了一个`getBytes()`方法来将字符串转换为字节数组。如果不指定字符集,则使用平台...

    JSP生成静态HTML页面的几种方法

    JSP 生成静态 HTML 页面的几种方法 JSP 技术广泛应用于 web 开发领域,其中一个重要的应用场景是生成静态 HTML 页面。静态 HTML 页面相比动态页面具有许多优点,例如加载速度快、搜索引擎友好、减少服务器负载等。...

    java中读取数据的几种方法.doc

    ### Java中读取数据的几种方法 #### 一、引言 在Java开发过程中,从控制台读取数据是一项常见的需求。随着Java版本的发展,不同的Java版本提供了多种方式来实现这一功能。本文将详细介绍从JDK 1.4及以下版本到最新...

    加载properties配置文件的几种方法

    本文将深入探讨在SSM框架下加载properties配置文件的几种常见方法。 1. **使用Spring的PropertyPlaceholderConfigurer** Spring提供了`PropertyPlaceholderConfigurer`类,可以方便地从.properties文件中读取属性...

    Java文件下载的几种方式

    ### Java文件下载的几种方式详解 在Java编程中,文件下载是常见的操作之一,无论是从本地文件系统还是网络上下载文件,都需要掌握一定的技巧和方法。本文将详细介绍几种常用的Java文件下载方式,包括本地文件下载、...

    Java IO流几种经典使用方式

    ### Java IO流几种经典使用方式 #### 一、输入输出流(Input/Output Stream) 在Java中,`java.io`包提供了处理输入/输出操作的基本类,主要包括`InputStream`和`OutputStream`。 ##### 1. 字节流(Byte Stream) **...

    java下载图片的几种方式,提供源代码

    本文将详细探讨几种Java下载图片的方法,并提供相应的源代码,帮助开发者更好地理解和应用。 1. **URL连接下载图片** 使用`java.net.URL`和`java.io`包中的类,可以通过建立HTTP连接来下载图片。以下是一个简单的...

    android开发网络请求的几种方式

    本文将详细介绍Android开发中常用的几种网络请求方式,并以GET和POST请求为例进行具体说明。 #### 一、Android网络请求的基础概念 在开始介绍具体的请求方式之前,我们先来了解一些基本概念。 - **HTTP...

    彻底明白 Java 语言中的IO系统

    包括以下几种类型: * ByteArrayInputStream:把内存中的一个缓冲区作为 InputStream 使用 * StringBufferInputStream:把一个 String 对象作为 InputStream * FileInputStream:把一个文件作为 InputStream,实现...

    JAVA读取属性文件的几种方法总结

    以下是对几种在Java中读取属性文件的方法的详细介绍: 1. **使用`java.util.Properties`类的`load()`方法** 这是最基础的读取属性文件的方法。首先创建一个`FileInputStream`对象来打开文件,然后创建一个`...

    gb2312,utf-8,utf-8-bom等编码格式的互相转换

    本文将深入探讨几种常见的编码格式,如GB2312、UTF-8以及UTF-8-BOM,并详细讲解如何在C#中进行这些编码格式之间的转换,同时会涉及到与Stream相关的操作。 GB2312,全称为“国标汉字编码字符集”,是中国大陆广泛...

    java文件路径获取

    假设有一个位于`com.explorers`包下的`Test.java`类,以及一个名为`abc.jpg`的资源文件,我们可以通过以下几种方式获取该资源: 1. 使用`Class.getResourceAsStream`: ```java InputStream inputStream = Test....

    C#使用post发送和接收数据的方法

    Dictionary&lt;string, string&gt; parameters = new Dictionary&lt;string, string&gt;(); string[] pairs = postData.Split('&'); foreach (string pair in pairs) { string[] keyValue = pair.Split('='); parameters...

    Java流(文件读写操作)

    根据不同的标准,流可以分为几种类型。 ##### 1. 按数据流动方向 - **输入流**:主要用于从数据源读取数据。输入流只能从中读取数据,而不能向其中写入数据。例如,`FileInputStream`用于从文件中读取字节数据。 -...

    java实现文件编码转换的方法

    3. 文件编码转换的方法:我们可以使用 java.io.InputStream 和 java.io.OutputStream 来实现文件编码的转换。我们可以使用 InputStreamReader 和 OutputStreamWriter 来读取和写入文件,并使用 java.nio.charset....

    java 获取properties的几种方式(csdn)————程序.pdf

    每种方法都有其适用场景,具体选择取决于项目的需求和结构。例如,Spring的`PropertyPlaceholderConfigurer`和`&lt;context:property-placeholder&gt;`适用于Spring应用,而`ResourceBundle`适合处理本地化,`Properties`...

    java读取文件方法大全.txt

    主要涉及以下几种方法: - **使用`FileInputStream`**:这是最基本的字节输入流,可以直接读取文件中的字节数据。 - **使用`InputStream`**:这是一个抽象基类,所有字节输入流都继承自它。可以通过`InputStream`的...

    POS二进制数据

    string _InputStream; using (Stream MyStream = Request.InputStream) { byte[] _tmpData = new byte[MyStream.Length]; MyStream.Read(_tmpData, 0, _tmpData.Length); HttpMethod = Request.HttpMethod; ...

    java实现HTML页面转PDF亲测好用

    总的来说,Java实现HTML页面转PDF主要涉及以下几个步骤: 1. 安装`wkhtmltopdf`并确保其可执行文件在系统路径中或在代码中指定。 2. 使用Java的Runtime或第三方库执行`wkhtmltopdf`命令。 3. 处理命令的输出和错误...

Global site tag (gtag.js) - Google Analytics