使用FileUtils来简化文件操作

习惯于用流的方式来操作一些文档内容时,发现FileUtils这个工具类的确在这方面有更好的操作。

我来做了一些小的demo
1.先看看怎么用FileUtils来创建一个文件夹并写入你的数据。

    try {
            FileUtils.write(new File("D:/a/b/c.txt"), "创建文件夹并写入数据", "UTF-8",
                    true);  
  FileUtils.writeStringToFile(new File("D:/a/b/c.txt"), "写入字符串到文件中", true); 
        } catch (IOException e) {
            // TODO 自动生成的 catch 块
            e.printStackTrace();
        }

是不是很简单。下面用list集合的方式写入数据

 List<String> lines=new ArrayList<String>();
              lines.add("欢迎");
              lines.add("帅哥美女们");
        try {
            FileUtils.writeLines(new File("D:/a/b/c.txt"), lines, true);
        } catch (IOException e) {
            // TODO 自动生成的 catch 块
            e.printStackTrace();
        }

2。读文件或者文件夹了有写当然有读啦

FileUtils.readFileToString(new File("D:/a/b/c.txt") , "UTF-8");
```//这是读出文件以byte字节的方式,比如socket通讯,都不要转了。
FileUtils.readFileToByteArray(new File("D:/a/b/c.txt"));
//读出文件返回一个集合
FileUtils.readLines(new File("D:/a/b/c.txt"));

顾名思义 都不要解释就懂了的单词 是不是。。嘿嘿哒

3.删除 文件/文件夹
//删除的是b文件夹
a.FileUtils.deleteDirectory(new File("D:/a/b"));

//下面这个方法 文件夹不是空任然可以被删除,永远不会抛出异常

FileUtils.deleteQuietly(new File("D:/a/b"));

4.移动 文件/文件夹
//移动文件 或 文件夹

FileUtils.moveDirectory(new File("D:/cxyapi1"), new File("D:/cxyapi2")); //注意这里 第二个参数文件不存在会引发异常

boolean createDestDir)
FileUtils.moveDirectoryToDirectory(new File(“D:/cxyapi2”), new File(“D:/cxyapi3”), true);

/* 上面两个方法的不同是:
* moveDirectory:D:/cxyapi2里的内容是D:/cxyapi1的内容。
* moveDirectoryToDirectory:D:/cxyapi2文件夹移动到到D:/cxyapi3里
*
* 下面的3个都比较简单没提供示例,只提供了api
* 其中moveToDirectory和其他的区别是 它能自动识别操作文件还是文件夹
*/
//static void:moveFileToDirectory(srcFile, destDir, createDestDir)
//static void:moveFile(File srcFile, File destFile)
//static void:moveToDirectory(File src, File destDir, boolean createDestDir)

没有更多推荐了,返回首页