Commons IO
Commons IO是apache的一个开源的工具包,封装了IO操作的相关类,使用Commons IO可以很方便的读写文件,url源代码等.
普通地读取一个网页的源代码的代码可能如下
InputStream in = new URL( "http://laoyu.info" ).openStream();
try {
InputStreamReader inR = new InputStreamReader( in );
BufferedReader buf = new BufferedReader( inR );
String line;
while ( ( line = buf.readLine() ) != null ) {
System.out.println( line );
}
} finally {
in.close();
}
使用了Commons IO,则可以大大简化代码.如下:
InputStream in = new URL( "http://laoyu.info" ).openStream();
try {
System.out.println( IOUtils.toString( in ) );
} finally {
IOUtils.closeQuietly(in);
}
Commons IO里的常用类
FileUtils包含了文件操作的相关方法.
下面的代码用于读取磁盘上的某个文件:
File file = new File("c:/test.txt");
List lines = FileUtils.readLines(file, "UTF-8");
FileSystemUtils 可以获得指定磁盘路径的可用空间
long freeSpace = FileSystemUtils.freeSpace("d:/");
文件复制代码:
File src = new File("src.txt");
File dest = new File("dest.txt");
FileUtils.copyFile(src, dest);
补充:
方便地下载文件到本地
InputStream in = new
URL("http://www.baidu.com/img/baidu_logo.gif").openStream();
byte [] gif = IOUtils.toByteArray(in);
//IOUtils.write(gif,new FileOutputStream(new File("c:/test.gif")));
FileUtils.writeByteArrayToFile(new File("c:/test.gif"),gif);
IOUtils.closeQuietly(in);
/* 第一种:在 Struts2 当中,Struts1同样也可通过这种形式获取: */
/* 获取 request 对象 */
HttpServletRequest request = ServletActionContext.getRequest();
/* 得到当前上下文绝对路径以保存图片 */
String contextPath = request.getSession().getServletContext().getRealPath("\\");
/* 第二种:在 Filter 当中: */
public void init(FilterConfig config) throws ServletException {
/* 可将此参数放入到 Session 可供全局使用 */
String contextPath = config.getServletContext().getRealPath("\\");
}
/* 第三种 */
String contextPath = request.getScheme()+"://"+request.getServerName() +":"+request.getServerPort()+request.getContextPath()+"/";
本文来自优快云博客,转载请标明出处:
936

被折叠的 条评论
为什么被折叠?



