<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ursob &#187; java文件操作</title>
	<atom:link href="http://ursob.org/tag/java%e6%96%87%e4%bb%b6%e6%93%8d%e4%bd%9c/feed/" rel="self" type="application/rss+xml" />
	<link>http://ursob.org</link>
	<description>Code &#38;&#38; Riff</description>
	<lastBuildDate>Thu, 29 Jul 2010 09:37:57 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Java中关于文件操作的几个方法</title>
		<link>http://ursob.org/2009/09/25/java-file-operation/</link>
		<comments>http://ursob.org/2009/09/25/java-file-operation/#comments</comments>
		<pubDate>Fri, 25 Sep 2009 09:04:19 +0000</pubDate>
		<dc:creator>ripflowers</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Others]]></category>
		<category><![CDATA[java文件操作]]></category>

		<guid isPermaLink="false">http://ursob.org/?p=127</guid>
		<description><![CDATA[懒得说了，直接看代码吧。]]></description>
			<content:encoded><![CDATA[<p>懒得说了，直接看代码吧。</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:Courier New, Courier;">package org<span style="color: #66cc66;">.</span>ursob<span style="color: #66cc66;">.</span>util;
&nbsp;
import java<span style="color: #66cc66;">.</span>io<span style="color: #66cc66;">.</span>File;
public class FileUtil <span style="color: #66cc66;">&#123;</span>
&nbsp;
	public FileUtil<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
&nbsp;
	<span style="color: #66cc66;">&#125;</span>
	<span style="color: #808080; font-style: italic;">/**
	 * 获得目录下文件及目录的个数
	 * @param File f
	 * @return
	 * @throws Exception
	 */</span>
	public static Integer getFileCount<span style="color: #66cc66;">&#40;</span>File f<span style="color: #66cc66;">&#41;</span> 
							throws Exception <span style="color: #66cc66;">&#123;</span>
		Integer size <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">0</span>;
		File flist<span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span> <span style="color: #66cc66;">=</span> f<span style="color: #66cc66;">.</span>listFiles<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #993333; font-weight: bold;">FOR</span> <span style="color: #66cc66;">&#40;</span>int i <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">0</span>; flist !<span style="color: #66cc66;">=</span> <span style="color: #993333; font-weight: bold;">NULL</span> &amp;&amp; i <span style="color: #66cc66;">&lt;</span> flist<span style="color: #66cc66;">.</span>length; i<span style="color: #66cc66;">++</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
			<span style="color: #993333; font-weight: bold;">IF</span> <span style="color: #66cc66;">&#40;</span>flist<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">.</span>isDirectory<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
				continue;
			<span style="color: #66cc66;">&#125;</span> else <span style="color: #66cc66;">&#123;</span>
				size <span style="color: #66cc66;">+=</span> flist<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">.</span>length<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			<span style="color: #66cc66;">&#125;</span>
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #993333; font-weight: bold;">RETURN</span> size;
	<span style="color: #66cc66;">&#125;</span>
	<span style="color: #808080; font-style: italic;">/**
	 * 获得目录下文件及目录的个数
	 * @param File f
	 * @return
	 * @throws Exception
	 */</span>
	public static Integer getPathSize<span style="color: #66cc66;">&#40;</span>File f<span style="color: #66cc66;">&#41;</span> 
							throws Exception <span style="color: #66cc66;">&#123;</span>
		File<span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span> files <span style="color: #66cc66;">=</span> f<span style="color: #66cc66;">.</span>listFiles<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #993333; font-weight: bold;">RETURN</span> files <span style="color: #66cc66;">==</span> <span style="color: #993333; font-weight: bold;">NULL</span> ? <span style="color: #cc66cc;">0</span> : files<span style="color: #66cc66;">.</span>length;
	<span style="color: #66cc66;">&#125;</span>
&nbsp;
	<span style="color: #808080; font-style: italic;">/**递归删除文件
	 * @param File file
	 * @return
	 */</span>
	public static <span style="color: #993333; font-weight: bold;">BOOLEAN</span> delFiles<span style="color: #66cc66;">&#40;</span>File file<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
		<span style="color: #993333; font-weight: bold;">BOOLEAN</span> flag <span style="color: #66cc66;">=</span> false;
		try <span style="color: #66cc66;">&#123;</span>
			<span style="color: #993333; font-weight: bold;">IF</span> <span style="color: #66cc66;">&#40;</span>file<span style="color: #66cc66;">.</span><span style="color: #993333; font-weight: bold;">EXISTS</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
				<span style="color: #993333; font-weight: bold;">IF</span> <span style="color: #66cc66;">&#40;</span>file<span style="color: #66cc66;">.</span>isDirectory<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
					String<span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span> contents <span style="color: #66cc66;">=</span> file<span style="color: #66cc66;">.</span>list<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
					<span style="color: #993333; font-weight: bold;">FOR</span> <span style="color: #66cc66;">&#40;</span>int i <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">0</span>; i <span style="color: #66cc66;">&lt;</span> contents<span style="color: #66cc66;">.</span>length; i<span style="color: #66cc66;">++</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
						File tempFile <span style="color: #66cc66;">=</span> new File
						<span style="color: #66cc66;">&#40;</span>file<span style="color: #66cc66;">.</span>getAbsolutePath<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">+</span> <span style="color: #ff0000;">&quot;/&quot;</span><span style="color: #66cc66;">+</span> contents<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span>;
						<span style="color: #993333; font-weight: bold;">IF</span> <span style="color: #66cc66;">&#40;</span>tempFile<span style="color: #66cc66;">.</span><span style="color: #993333; font-weight: bold;">EXISTS</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
							<span style="color: #993333; font-weight: bold;">IF</span> <span style="color: #66cc66;">&#40;</span>tempFile<span style="color: #66cc66;">.</span>isFile<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
								flag <span style="color: #66cc66;">=</span> tempFile<span style="color: #66cc66;">.</span><span style="color: #993333; font-weight: bold;">DELETE</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
							<span style="color: #66cc66;">&#125;</span> else <span style="color: #993333; font-weight: bold;">IF</span> <span style="color: #66cc66;">&#40;</span>tempFile<span style="color: #66cc66;">.</span>isDirectory<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
								delFiles<span style="color: #66cc66;">&#40;</span>tempFile<span style="color: #66cc66;">&#41;</span>;
							<span style="color: #66cc66;">&#125;</span>
						<span style="color: #66cc66;">&#125;</span> else <span style="color: #66cc66;">&#123;</span>
							throw new RuntimeException<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;File not exist!&quot;</span><span style="color: #66cc66;">&#41;</span>;
						<span style="color: #66cc66;">&#125;</span>
					<span style="color: #66cc66;">&#125;</span>
				<span style="color: #66cc66;">&#125;</span>
				flag <span style="color: #66cc66;">=</span> file<span style="color: #66cc66;">.</span><span style="color: #993333; font-weight: bold;">DELETE</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			<span style="color: #66cc66;">&#125;</span> else <span style="color: #66cc66;">&#123;</span>
				throw new RuntimeException<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;File not exist!&quot;</span><span style="color: #66cc66;">&#41;</span>;
			<span style="color: #66cc66;">&#125;</span>
		<span style="color: #66cc66;">&#125;</span> catch <span style="color: #66cc66;">&#40;</span>Exception e<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
			flag <span style="color: #66cc66;">=</span> false;
			e<span style="color: #66cc66;">.</span>printStackTrace<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
		<span style="color: #993333; font-weight: bold;">RETURN</span> flag;
	<span style="color: #66cc66;">&#125;</span>
&nbsp;
	<span style="color: #808080; font-style: italic;">/** 
	 * 移动指定文件夹内的全部文件 
	 * @param fromDir 待移动的文件 
	 * @param toDir   目标文件目录 
	 * @throws Exception 
	 */</span>
	public static void fileMove<span style="color: #66cc66;">&#40;</span>String <span style="color: #993333; font-weight: bold;">FROM</span><span style="color: #66cc66;">,</span> String <span style="color: #993333; font-weight: bold;">TO</span><span style="color: #66cc66;">&#41;</span> 
										throws Exception <span style="color: #66cc66;">&#123;</span>
		try <span style="color: #66cc66;">&#123;</span>
			File dir <span style="color: #66cc66;">=</span> new File<span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">FROM</span><span style="color: #66cc66;">&#41;</span>;
			<span style="color: #66cc66;">//</span> 文件一览 
			File<span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span> files <span style="color: #66cc66;">=</span> dir<span style="color: #66cc66;">.</span>listFiles<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			<span style="color: #993333; font-weight: bold;">IF</span> <span style="color: #66cc66;">&#40;</span>files <span style="color: #66cc66;">==</span> <span style="color: #993333; font-weight: bold;">NULL</span><span style="color: #66cc66;">&#41;</span>
				<span style="color: #993333; font-weight: bold;">RETURN</span>;
			<span style="color: #66cc66;">//</span> 目标 
			File moveDir <span style="color: #66cc66;">=</span> new File<span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">TO</span><span style="color: #66cc66;">&#41;</span>;
			<span style="color: #993333; font-weight: bold;">IF</span> <span style="color: #66cc66;">&#40;</span>!moveDir<span style="color: #66cc66;">.</span><span style="color: #993333; font-weight: bold;">EXISTS</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
				moveDir<span style="color: #66cc66;">.</span>mkdirs<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			<span style="color: #66cc66;">&#125;</span>
			<span style="color: #66cc66;">//</span> 文件移动 
			<span style="color: #993333; font-weight: bold;">FOR</span> <span style="color: #66cc66;">&#40;</span>int i <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">0</span>; i &amp;lt; files<span style="color: #66cc66;">.</span>length; i<span style="color: #66cc66;">++</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
				<span style="color: #993333; font-weight: bold;">IF</span> <span style="color: #66cc66;">&#40;</span>files<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">.</span>isDirectory<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
					fileMove<span style="color: #66cc66;">&#40;</span>files<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">.</span>getPath<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #993333; font-weight: bold;">TO</span> <span style="color: #66cc66;">+</span> <span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\\</span>&quot;</span> <span style="color: #66cc66;">+</span> files<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">.</span>getName<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
					<span style="color: #66cc66;">//</span> 成功，删除原文件 
					files<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">.</span><span style="color: #993333; font-weight: bold;">DELETE</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
				<span style="color: #66cc66;">&#125;</span>
				File moveFile <span style="color: #66cc66;">=</span> new File<span style="color: #66cc66;">&#40;</span>moveDir<span style="color: #66cc66;">.</span>getPath<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">+</span> <span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\\</span>&quot;</span>
						<span style="color: #66cc66;">+</span> files<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">.</span>getName<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
				<span style="color: #66cc66;">//</span> 目标文件夹下存在的话，删除 
				<span style="color: #993333; font-weight: bold;">IF</span> <span style="color: #66cc66;">&#40;</span>moveFile<span style="color: #66cc66;">.</span><span style="color: #993333; font-weight: bold;">EXISTS</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
					moveFile<span style="color: #66cc66;">.</span><span style="color: #993333; font-weight: bold;">DELETE</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
				<span style="color: #66cc66;">&#125;</span>
				files<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">.</span>renameTo<span style="color: #66cc66;">&#40;</span>moveFile<span style="color: #66cc66;">&#41;</span>;
			<span style="color: #66cc66;">&#125;</span>
		<span style="color: #66cc66;">&#125;</span> catch <span style="color: #66cc66;">&#40;</span>Exception e<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
			throw e;
		<span style="color: #66cc66;">&#125;</span>
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://ursob.org/2009/09/25/java-file-operation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
