一、FileUtils
快速读写文件。
/** * FileUtils 的常用方法 * cleanDirectory 清空目录,但不能删除目录 * contentEquals 比较两个文件的内容是否相同 * copyDirectory 将一个目录内容拷贝到另一个目录。可以通过FileFilter过滤需要拷贝的文件 * copyFile 将文件拷贝到一个新的地址 * copyFileToDirectory 将一个文件拷贝到某个目录下 * copyInputStreamToFile 将一个输入流中的内容拷贝到某个文件 * deleteDirectory 删除目录 * deleteQuietly 删除文件 * listFiles 列出指定目录下的所有文件 * openInputSteam 打开指定文件的输入流。 * readFileToString 将文件内容作为字符串返回 * sizeOf 返回文件或目录的大小 * write 将字符串内容直接写到文件中 * writeByteArrayToFile 将字节数组内容写到文件中 * writeLines 将容器中的元素的toString方法返回的内容依次写入文件中 * writeStringToFile 将字符串内容写到文件中 */ //清空目录,但不能删除目录 File dir = new File("D:\testdir\ndir"); FileUtils.cleanDirectory(dir); //比较两个文件的内容是否相同 File file1 = new File("D:\testdir\aaa.txt"); File file2 = new File("D:\testdir\bbb.txt"); System.out.println(FileUtils.contentEquals(file1, file2));
二、IOUtils
/** * IOUtils的很多方法都是重载的,它的常用方法如下: * buffer方法:将传入的流进行包装,变成缓冲流。并可以通过参数指定缓冲大小。 * closeQuietly方法:关闭流 * contentEquals方法:比较两个流中的内容是否一致 * copy方法:将输入流中的内容拷贝到输出流中,并可以指定字符编码。 * copyLarge方法:将输入流中的内容拷贝到输出流中,适合大于2G内容的拷贝。 * lineIterator方法:返回可以迭代每一行内容的迭代器 * read方法:将输入流中的部分内容读入到字节数组中 * readFully方法:将输入流中的所有内容读入到字节数组中 * readLine方法:读入输入流内容中的一行 * toBufferedInputStream, toBufferedReader:将输入转为带缓存的输入流 * toByteArray, toCharArray:将输入流的内容转为字节数组、字符数组 * toString:将输入流或数组中的内容转化为字符串 * write方法:向流里面写入内容 * writeLine方法:向流里面写入一行内容 */
二、FilenameUtils
/** * FilenameUtils 常用的方法有: * normalizeNoEndSeparator:获取当前系统无结尾分隔符的路径 * concat:合并目录和文件名为文件全路径 * getBaseName:文件路径去除目录和后缀后的文件名 * getExtension:获取文件的后缀名 * getFullPath:获取文件的完整目录 * getFullPathNoEndSeparator:获取文件的目录不包含结束符 * getName:获取文件名称,包含后缀 * getPath:去除前缀的路径 * getPathNoEndSeparator:去除前缀并结尾去除分隔符 * getPrefix:获取前缀 * getPrefixLength:获取前缀长度 * indexOfExtension:获取最后一个.的位置 * indexOfLastSeparator:获取最后一个/的位置 * normalize:获取当前系统格式化路径 * removeExtension:移除文件的扩展名 * separatorsToSystem:转换分隔符为当前系统分隔符 * separatorsToUnix:转换分隔符为linux系统分隔符 * separatorsToWindows:转换分隔符为windows系统分隔符 * directoryContains:判断目录下是否包含指定文件或目录 * equals:判断文件路径是否相同, 可以设置大小写不敏感 * equalsNormalized:判断文件路径是否相同,格式化并大小写敏感 * isExtension:判断文件扩展名是否包含在指定集合中 * wildcardMatch:判断文件扩展名是否和指定规则匹配 */