Commons-IO 2.4 發布
Commons-io 2.4 發布了,Commons項目中用來處理IO的一些工具類包,
//直接將IO流轉成字符串 InputStream in = new URL( "http://jakarta.apache.org" ).openStream(); try { System.out.println( IOUtils.toString( in ) ); } finally { IOUtils.closeQuietly(in); } //讀取文本文件的所有行 File file = new File("/commons/io/project.properties"); List lines = FileUtils.readLines(file, "UTF-8"); //路徑處理 String filename = "C:/commons/io/../lang/project.xml"; String normalized = FilenameUtils.normalize(filename); // result is "C:/commons/lang/project.xml" //獲取目錄空間 long freeSpace = FileSystemUtils.freeSpace("C:/"); //打印文件的所有行 LineIterator it = FileUtils.lineIterator(file, "UTF-8"); try { while (it.hasNext()) { String line = it.nextLine(); /// do something with line } } finally { LineIterator.closeQuietly(iterator); }
該版本改進記錄包括:
New features:
o IO-269: Tailer locks file from deletion/rename on Windows. Thanks to sebb.
o IO-333: Export OSGi packages at version 1.x in addition to 2.x. Thanks to fmeschbe.
o IO-320: Add XmlStreamReader support for UTF-32. Thanks to ggregory.
o IO-331: BOMInputStream wrongly detects UTF-32LE_BOM files as UTF-16LE_BOM files in method getBOM(). Thanks to ggregory.
o IO-327: Add byteCountToDisplaySize(BigInteger). Thanks to ggregory.
o IO-326: Add new FileUtils.sizeOf[Directory] APIs to return BigInteger. Thanks to ggregory, kinow.
o IO-325: Add IOUtils.toByteArray methods to work with URL and URI. Thanks to raviprak.
o IO-324: Add missing Charset sister APIs to method that take a String charset name. Thanks to raviprak.
Fixed Bugs:
o IO-336: Yottabyte (YB) incorrectly defined in FileUtils. Thanks to rleavelle.
o IO-279: Tailer erroneously considers file as new. Thanks to Sergio Bossa, Chris Baron.
o IO-335: Tailer#readLines - incorrect CR handling.
o IO-334: FileUtils.toURLs throws NPE for null parameter; document the behavior.
o IO-332: Improve tailer's reading performance. Thanks to liangly.
o IO-279: Improve Tailer performance with buffered reads (see IO-332).
o IO-329: FileUtils.writeLines uses unbuffered IO. Thanks to tivv.
o IO-319: FileUtils.sizeOfDirectory follows symbolic links. Thanks to raviprak.