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(); } } }
。。
相关推荐
在Java编程中,IOUtils组件是一个非常实用的工具类库,它主要来自Apache Commons IO项目。这个组件提供了大量用于输入/输出操作的便捷方法,极大地简化了与输入输出流相关的处理工作。本教程将深入探讨如何利用...
《Apache Commons IOUtils详解及其应用》 Apache Commons IOUtils是Apache Commons项目中的一个核心库,主要提供了大量的IO操作工具类,极大地简化了Java输入/输出流的处理工作。本篇文章将深入探讨IOUtils的主要...
例如,`IOUtils.copy()`方法可以方便地在不同流之间复制数据,`IOUtils.closeQuietly()`可以安全地关闭流,即使在关闭过程中出现异常也不会影响到程序的其他部分。 2. **Apache Commons FileUpload**: - `commons...
java组件开发(12) IOUtils、FileUtils
然而,有时在Servlet中引用`IOUtils`可能会遇到报错的情况,这可能是由于多种原因引起的。下面我们将深入探讨这个问题,并提供相应的解决策略。 首先,我们需要了解`IOUtils`报错可能的原因: 1. **依赖缺失**:在...
项目中需要 org.apache.commons.io.IOUtils的可以下载此包,fileupload组件依赖的commons-io组件
首先,我们需要引入`System.IOUtils`单元,这个单元包含了获取文件属性的函数。如果你的代码中还没有导入,可以添加以下语句: ```delphi uses System.IOUtils; ``` 接下来,我们可以使用`TFile`类中的`GetSize`...
这两个类属于System.IOUtils单元,所以在你的源代码中需要导入这个单元: ```delphi uses System.IOUtils; ``` **获取单个文件大小:** 要获取单个文件的大小,可以使用TFile的Size属性。以下是一个示例: ```...
`GetFileSize`函数是Delphi `SysUtils`单元中的一个函数,适用于不支持新式`System.IOUtils`的旧版Delphi。以下是如何使用`GetFileSize`的示例: ```delphi uses SysUtils; var FilePath: string; Handle: ...
2. **流操作**:`StreamUtils` 和 `IOUtils` 提供了对字节流和字符流的处理。例如,你可以使用它们来读取或写入流,关闭流,或者将整个流内容转换为字符串。 3. **缓冲区操作**:`BufferedInputStream` 和 `...
这里的`IOUtils.toByteArray()`方法是Apache Commons IO库提供的,用于将输入流转换为字节数组。Base64编码后的字符串可以安全地存储在数据库中或通过HTTP传输。 当需要从Base64编码还原成图片时,我们可以反向操作...
例如,你可以使用IOUtils.copy()方法轻松地将一个输入流的内容复制到一个输出流,或者使用IOUtils.toString()将一个字节流转换为字符串。此外,IOUtils还提供了关闭流的便捷方法,避免了常见的资源泄漏问题。 2. **...
例如,`IOUtils.copy()`可以方便地将输入流的内容复制到输出流,而`IOUtils.toString()`则能将流的内容转化为字符串。这些方法都考虑了异常处理,使得代码更简洁、可读性更强。 三、FileUtils模块 `FileUtils`类...
资源内容:工欲善其事必先利其器,本资源内容为Java开发常用工具类打包,如BeanUtil,ArrayUtil,HtmlUtil,ClassUtil,DateUtil,FileUtil,FontUtil,ImageUtil,IOUtil, IPUtil, MapUtil,MailUtil, NumberUtil,...
FileCtrl, StrUtils, Masks, Vcl.OleCtrls, SHDocVw, IOUtils; procedure SaveTreeViewExplandState(TreeView: TTreeView; FileName: string); procedure LoadTreeViewExplandState(TreeView: TTreeView; FileName...
在Java编程语言中,IO(Input/Output)操作是处理输入和输出数据的关键部分。本篇文章将详细探讨如何使用Java进行文件的读写、追加、删除、移动、复制和修改等常见操作。我们将首先关注文件的读取方法,因为这是给定...
这里我们将会探讨三种不同的方法来实现这一功能:IOStreamReader、BufferedReader以及Apache Commons IO中的IOUtils。这些方法各有特点,适用于不同的场景。 首先,我们来看使用IOStreamReader的方式。...
最后,使用`IOUtils.copyBytes()`方法将输入流中的数据复制到输出流,完成文件上传。别忘了在操作完成后关闭所有流和文件系统。 2. **HDFS文件下载** 下载文件的过程与上传类似,但也需要考虑到文件可能分块存储的...
用于dubbo项目pom,使用zookeeper进行注册时可以进行使用
在Delphi中,我们可以使用内置的`System.IOUtils`单元来处理文件和目录操作。`System.IOUtils`单元包含了`TDirectory`和`TFile`等类,提供了丰富的文件系统操作方法。特别是`TDirectory`类,它提供了一系列与目录...