`
uule
  • 浏览: 6351492 次
  • 性别: Icon_minigender_1
  • 来自: 一片神奇的土地
社区版块
存档分类
最新评论

IOUtils

 
阅读更多

org.apache.commons.io.IOUtils

 

1、IOUtils.toString(InputStream input)

 

protected boolean writeEJBJar(String path, WebServiceProject project){
		String ejbJar = null;
		try {
			ejbJar = IOUtils.toString(this.getClass().getClassLoader().getResourceAsStream("META-INF/ws/ejb-jar.comm.template"));
			
			logger.debug("get template pass...");
			
			ejbJar = String.format(ejbJar, project.getName());
			
			logger.debug("template format :\n" + ejbJar);
			
			FileUtils.writeStringToFile(new File(path), ejbJar, "UTF-8");
			
			logger.debug("write " + path + " to harddrive pass...");
		} catch (Exception e) {
			e.printStackTrace();
			logger.error("writeBuild error : " + e.getMessage());
			return false;
		}
		return true;
	}

 

源码:

//注意此处用的StringWriter来实现字符输出展示
public static String toString(InputStream input) throws IOException {
        StringWriter sw = new StringWriter();
        copy(input, sw);
        return sw.toString();
    }

 

public static void copy(InputStream input, Writer output)
            throws IOException {
        InputStreamReader in = new InputStreamReader(input);
        copy(in, output);
    }


	public static int copy(Reader input, Writer output) throws IOException {
        long count = copyLarge(input, output);
        if (count > Integer.MAX_VALUE) {
            return -1;
        }
        return (int) count;
    }

 

/**
     * The default buffer size to use.
     */
    private static final int DEFAULT_BUFFER_SIZE = 1024 * 4;

	
	public static long copyLarge(Reader input, Writer output) throws IOException {
        char[] buffer = new char[DEFAULT_BUFFER_SIZE];
        long count = 0;
        int n = 0;
        while (-1 != (n = input.read(buffer))) {
            output.write(buffer, 0, n);
            count += n;
        }
        return count;
    }

 

InputStream  => InputStreamReader => Reader

StringWriter => Writer

 

 

注意此处用的StringWriter来实现字符输出展示

 

获取异常堆栈信息,也是使用StringWriter展示,如:

import java.io.PrintWriter;
import java.io.StringWriter;

public class ExceptionUtils {

	public static String getStackTrace(Throwable t) {
		StringWriter sw = new StringWriter();
		PrintWriter pw = new PrintWriter(sw);
		try {
			t.printStackTrace(pw);
			return sw.toString();
		} finally {
			pw.close();
		}
	}

}

 

。。

 

 

分享到:
评论

相关推荐

    IOUtils组件,搭配本文项目专用

    在Java编程中,IOUtils组件是一个非常实用的工具类库,它主要来自Apache Commons IO项目。这个组件提供了大量用于输入/输出操作的便捷方法,极大地简化了与输入输出流相关的处理工作。本教程将深入探讨如何利用...

    IOUtils jar

    《Apache Commons IOUtils详解及其应用》 Apache Commons IOUtils是Apache Commons项目中的一个核心库,主要提供了大量的IO操作工具类,极大地简化了Java输入/输出流的处理工作。本篇文章将深入探讨IOUtils的主要...

    IOUtils(commons-io-1.4.jar、commons-fileupload-1.2.1.jar等等)

    例如,`IOUtils.copy()`方法可以方便地在不同流之间复制数据,`IOUtils.closeQuietly()`可以安全地关闭流,即使在关闭过程中出现异常也不会影响到程序的其他部分。 2. **Apache Commons FileUpload**: - `commons...

    java组件开发(12) IOUtils、FileUtils

    java组件开发(12) IOUtils、FileUtils

    Servelt 中引用IOUtils方法报错的解决办法

    然而,有时在Servlet中引用`IOUtils`可能会遇到报错的情况,这可能是由于多种原因引起的。下面我们将深入探讨这个问题,并提供相应的解决策略。 首先,我们需要了解`IOUtils`报错可能的原因: 1. **依赖缺失**:在...

    2018年org.apache.commons.io jar包

    项目中需要 org.apache.commons.io.IOUtils的可以下载此包,fileupload组件依赖的commons-io组件

    Delphi中,如何获得文件大小

    首先,我们需要引入`System.IOUtils`单元,这个单元包含了获取文件属性的函数。如果你的代码中还没有导入,可以添加以下语句: ```delphi uses System.IOUtils; ``` 接下来,我们可以使用`TFile`类中的`GetSize`...

    delphi7获取文件大小

    这两个类属于System.IOUtils单元,所以在你的源代码中需要导入这个单元: ```delphi uses System.IOUtils; ``` **获取单个文件大小:** 要获取单个文件的大小,可以使用TFile的Size属性。以下是一个示例: ```...

    commons-io 包

    2. **流操作**:`StreamUtils` 和 `IOUtils` 提供了对字节流和字符流的处理。例如,你可以使用它们来读取或写入流,关闭流,或者将整个流内容转换为字符串。 3. **缓冲区操作**:`BufferedInputStream` 和 `...

    图片流转存Base64编码然后转图片 Spring 框下的

    这里的`IOUtils.toByteArray()`方法是Apache Commons IO库提供的,用于将输入流转换为字节数组。Base64编码后的字符串可以安全地存储在数据库中或通过HTTP传输。 当需要从Base64编码还原成图片时,我们可以反向操作...

    Apache commons-io-2.5.jar

    例如,你可以使用IOUtils.copy()方法轻松地将一个输入流的内容复制到一个输出流,或者使用IOUtils.toString()将一个字节流转换为字符串。此外,IOUtils还提供了关闭流的便捷方法,避免了常见的资源泄漏问题。 2. **...

    commons-io-2.4.jar包

    例如,`IOUtils.copy()`可以方便地将输入流的内容复制到输出流,而`IOUtils.toString()`则能将流的内容转化为字符串。这些方法都考虑了异常处理,使得代码更简洁、可读性更强。 三、FileUtils模块 `FileUtils`类...

    IOUtils.java

    资源内容:工欲善其事必先利其器,本资源内容为Java开发常用工具类打包,如BeanUtil,ArrayUtil,HtmlUtil,ClassUtil,DateUtil,FileUtil,FontUtil,ImageUtil,IOUtil, IPUtil, MapUtil,MailUtil, NumberUtil,...

    DELPHI TXT 树文档 管理器

    FileCtrl, StrUtils, Masks, Vcl.OleCtrls, SHDocVw, IOUtils; procedure SaveTreeViewExplandState(TreeView: TTreeView; FileName: string); procedure LoadTreeViewExplandState(TreeView: TTreeView; FileName...

    java_IO操作_(读写、追加、删除、移动、复制、修改)

    在Java编程语言中,IO(Input/Output)操作是处理输入和输出数据的关键部分。本篇文章将详细探讨如何使用Java进行文件的读写、追加、删除、移动、复制和修改等常见操作。我们将首先关注文件的读取方法,因为这是给定...

    Java读取文件示例代码

    这里我们将会探讨三种不同的方法来实现这一功能:IOStreamReader、BufferedReader以及Apache Commons IO中的IOUtils。这些方法各有特点,适用于不同的场景。 首先,我们来看使用IOStreamReader的方式。...

    【HDFS篇05】HDFS客户端操作 --- IO流操作 1

    最后,使用`IOUtils.copyBytes()`方法将输入流中的数据复制到输出流,完成文件上传。别忘了在操作完成后关闭所有流和文件系统。 2. **HDFS文件下载** 下载文件的过程与上传类似,但也需要考虑到文件可能分块存储的...

    dubbo maven依赖

    用于dubbo项目pom,使用zookeeper进行注册时可以进行使用

    Delphi提取指定文件夹目录..rar

    在Delphi中,我们可以使用内置的`System.IOUtils`单元来处理文件和目录操作。`System.IOUtils`单元包含了`TDirectory`和`TFile`等类,提供了丰富的文件系统操作方法。特别是`TDirectory`类,它提供了一系列与目录...

    遍历文件夹下的文件名

    TDirectory和TFile是两个非常关键的System.IOUtils模块中的类,它们提供了大量静态方法来处理文件和目录。例如,`TDirectory.GetFiles()` 方法可以用来获取指定目录下的所有文件名,而`TDirectory.GetDirectories()`...

Global site tag (gtag.js) - Google Analytics