首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

fileutils 学习2

2012-09-29 
fileutils 学习二1 我写的小例子 通配符过滤目录下的文件??????import java.io.Fileimport java.io.IOExc

fileutils 学习二

1 我写的小例子
通配符过滤目录下的文件

?fileutils 学习2fileutils 学习2
    ?fileutils 学习2fileutils 学习2
      ?fileutils 学习2fileutils 学习2
        ?fileutils 学习2fileutils 学习2
          ?fileutils 学习2fileutils 学习2
            ?fileutils 学习2fileutils 学习2
              import java.io.File;import java.io.IOException;import java.net.URISyntaxException;import java.net.URL;import java.util.Collection;import org.apache.commons.io.FileUtils;import org.apache.commons.io.IOUtils;import org.apache.commons.io.filefilter.DirectoryFileFilter;import org.apache.commons.io.filefilter.FileFilterUtils;public final class FileFilterTest {private FileFilterTest() {}/** * 打印这个目录下所有.java结尾的文件名 */private static void printFile() {String realPath = "D://eclipse_workspace//swp//src//com//snda//swp";File dir = new File(realPath);// FILE类的list不能递归/* * String files[] = dir.list(FileFilterUtils.suffixFileFilter(".java")); * for(String f : files){ System.out.println(f); } */@SuppressWarnings("unchecked")Collection<File> files = FileUtils.listFiles(dir,FileFilterUtils.suffixFileFilter(".java"),DirectoryFileFilter.INSTANCE);System.out.println(files.size());for (File f : files) {System.out.println(f.getName());}}/** * 把一个网址的内容复制到一个临时文件夹下的临时文件中去 * * @throws IOException * @throws URISyntaxException */private static void uri2File() throws IOException, URISyntaxException {String uri = "http://g.cn";URL source = new URL(uri);File destination = File.createTempFile("tempfile", null);// 创建临时文件FileUtils.copyURLToFile(source, destination);System.out.println(FileUtils.readFileToString(destination));FileUtils.forceDeleteOnExit(destination);}/** * 打印一个URL的内容 * * @throws IOException */private static void uri2String() throws IOException {String uri = "http://g.cn";URL source = new URL(uri);System.out.println(IOUtils.toString(source.openStream()));}private static void uri2String(String uri) throws IOException {URL source = new URL(uri);System.out.println(IOUtils.toString(source.openStream()));}private static void uri2String(String uri, String encoding)throws IOException {URL source = new URL(uri);if (encoding == null)uri2String(uri);System.out.println(IOUtils.toString(source.openStream(), encoding));}/** * @param args */public static void main(String[] args) {try {String uri = "http://192.168.101.181:8440/web5/home/NewsData.asp";uri2String(uri, "gb2312");//要用gb2312解码 不然会乱码} catch (IOException e) {e.printStackTrace();}}}


              创建临时文件 然后再删除
              FileUtils.forceDeleteOnExit(destination);


              2 FileUtils.deleteDirectory
              删除一个目录 会先递归删除这个目录下的文件和子目录
              最后删除目录 如果目录删除不了 会抛异常

              guava库的
              Files.deleteDirectoryContents方法递归删除但是不删除目录本身
              Files.deleteRecursively 递归删除

              forceDeleteOnExit(File file)
              当强制JVM退出时,删除file变量对应的文件或者目录。在处理临时目录上非常好用。

              3 引用自JDK1.6

              引用
              InputStreamReader 是字节流通向字符流的桥梁:它使用指定的 charset 读取字节并将其解码为字符。它使用的字符集可以由名称指定或显式给定,或者可以接受平台默认的字符集。

              每次调用 InputStreamReader 中的一个 read() 方法都会导致从底层输入流读取一个或多个字节。要启用从字节到字符的有效转换,可以提前从底层流读取更多的字节,使其超过满足当前读取操作所需的字节。

              为了达到最高效率,可要考虑在 BufferedReader 内包装 InputStreamReader。例如:

              BufferedReader in
              ?? = new BufferedReader(new InputStreamReader(System.in));



热点排行