java用i/o查看文件_Java文件I / O基础
java用i/o查看文件
Java 7引入了java.nio.file包,以提供對(duì)文件I / O的全面支持。 除了許多其他功能之外,該軟件包還包括Files類(如果您已經(jīng)使用此類,則可以在這里停止閱讀)。
文件包含許多靜態(tài)方法,可在處理文件時(shí)用于完成常見任務(wù)。 不幸的是,在我看來,仍然使用舊的(Java 7之前的)文件處理方式來編寫許多更新的(Java 7+)代碼。 這不一定是壞事,但是它會(huì)使事情變得比所需的更為復(fù)雜。 造成這種情況的可能原因可能是在Java 7發(fā)行之前寫了許多文章和獲得很高評(píng)價(jià)的Stackoverflow答案。
在本文的其余部分中,我將提供一些代碼示例,這些示例說明如何使用Java 7或更高版本完成與文件相關(guān)的常見任務(wù)。
處理文件
//?Create?directories //?This?will?create?the?"bar"?directory?in?"/foo" //?If?"/foo"?does?not?exist,?it?will?be?created?first Files.createDirectories(Paths.get("/foo/bar"));//?Copy?a?file //?This?copies?the?file?"/foo/bar.txt"?to?"/foo/baz.txt" Files.copy(Paths.get("/foo/bar.txt"),?Paths.get("/foo/baz.txt"));//?Move?a?file //?This?moves?the?file?"/foo/bar.txt"?to?"/foo/baz.txt" Files.move(Paths.get("/foo/bar.txt"),?Paths.get("/foo/baz.txt"));//?Delete?a?file Files.delete(Paths.get("/foo/bar.txt"));//?Delete?a?file?but?do?not?fail?if?the?file?does?not?exist Files.deleteIfExists(Paths.get("/foo/bar.txt"));//?Check?if?a?file?exists boolean?exists?=?Files.exists(Paths.get("/foo/bar.txt"));File的大多數(shù)方法都采用一個(gè)或多個(gè)Path類型的參數(shù)。 路徑實(shí)例代表文件或目錄的路徑,可以使用Paths.get()獲得。 請注意,此處顯示的大多數(shù)方法還具有一個(gè)附加的varargs參數(shù),可用于傳遞其他選項(xiàng)。
例如:
Files.copy(Paths.get("/foo.txt"),?Paths.get("/bar.txt"),?StandardCopyOption.REPLACE_EXISTING);遍歷目錄中的所有文件
Files.walkFileTree(Paths.get("/foo"),?new?SimpleFileVisitor<Path>()?{@Overridepublic?FileVisitResult?visitFile(Path?file,?BasicFileAttributes?attrs)?throws?IOException?{System.out.println("file:?"?+?file);return?FileVisitResult.CONTINUE;} });在這里,/ foo目錄中的每個(gè)文件都會(huì)調(diào)用visitFile()方法。 如果您也想跟蹤目錄,則可以覆蓋SimpleFileVisitor的其他方法。
寫入和讀取文件
//?Write?lines?to?file List<String>?lines?=?Arrays.asList("first",?"second",?"third"); Files.write(Paths.get("/foo/bar.txt"),?lines,?Charset.forName("UTF-8"));//?Read?lines List<String>?lines?=?Files.readAllLines(Paths.get("/foo/bar.txt"),?Charset.forName("UTF-8"));所示方法適用于字符。 如果需要使用字節(jié),則可以使用類似的方法。
結(jié)論
如果您不了解java.nio.file.Files,那么您絕對(duì)應(yīng)該看看Javadoc方法摘要。 里面有很多有用的東西。
翻譯自: https://www.javacodegeeks.com/2014/05/java-file-io-basics.html
java用i/o查看文件
總結(jié)
以上是生活随笔為你收集整理的java用i/o查看文件_Java文件I / O基础的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 全景时光 PanoX V2 智能全景相机
- 下一篇: java美元兑换,(Java实现) 美元