[英]Path and paths of IO and NIO in java
我是新來學習Java中的IO和NIO的人。
我想知道
java.nio.file.Path
和java.nio.file.Paths
? Path
和Paths
? 感謝您的解釋。
路徑是代表路徑的類。 通常您已經擁有Path
任何地方都涉及此處的方法。
路徑是一組實用程序。 這些實用程序從其他類型的輸入生成Path
對象。 該實用程序不需要事先具有Path
。 它們是常見的,經常重復使用的代碼的便捷包裝,以減少剪切和粘貼的需要。
這是使用Paths
的示例:
/* I have a String, but need a Path */
Path path = Paths.get("/home/user/.config");
這是使用Path
的示例:
/* I have a Path, but need a String */
String name = path.toString();
之所以需要諸如Paths
類的Utility類的原因是多種因素的組合:
Path
是一個接口,因此無法直接調用其構造函數。 因為它沒有構造函數。 String
是一個最終類,而在其中進行修改的類可能比創建一個實用程序類要困難得多。 因此,盡管"/home/user/.config".toPath()
可能是一種有效的面向對象的處理方式,但是舊代碼阻止了添加而無需更多考慮。 URI
對它的壓力類似於上面在String
上描述的壓力。 當他們添加到NIO Path
類中時,他們希望對其代碼進行檢查並將其集成到核心Java庫中。
容易使其他人添加到庫中的東西具有以下特征:
如果他們采用將String
和URI
修改為具有getPath(...)
函數的方法,那么他們將增加將代碼集成到Java標准庫中的難度。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.