FileSystemクラスはFileSystemsクラスからインスタンスを取得する所までは理解したのですが、FileSystemクラスのメソッドはabstractなので、どのようにして利用しているのでしょうか? 継承されたクラスというものがあるのでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
Filesystemクラスの利用例を 3 つ紹介します。
- Java FileSystem .getRootDirectories http://www.java2s.com/Tutorials/Java/java.nio.file/FileSystem/Java_FileSystem_getRootDirectories_.htm より
lang
1import java.nio.file.FileSystem; 2import java.nio.file.FileSystems; 3import java.nio.file.Path; 4 5public class Main { 6 7 public static void main(String[] args) { 8 FileSystem fileSystem = FileSystems.getDefault(); 9 10 Iterable<Path> dirs = fileSystem.getRootDirectories(); 11 for (Path name : dirs) { 12 System.out.println(name); 13 } 14 } 15}
- Java FileSystem.getFileStores() http://www.java2s.com/Tutorials/Java/java.nio.file/FileSystem/Java_FileSystem_getFileStores_.htm より
lang
1import java.nio.file.FileSystem; 2import java.nio.file.FileSystems; 3import java.nio.file.Path; 4 5public class Main { 6 7 public static void main(String[] args) { 8 FileSystem fileSystem = FileSystems.getDefault(); 9 10 Iterable<Path> dirs = fileSystem.getRootDirectories(); 11 for (Path name : dirs) { 12 System.out.println(name); 13 } 14 } 15} 16
- Java 7 NIO.2 Tutorial – Writing a simple file/folder monitor using the Watch Service API http://andreinc.net/2013/12/06/java-7-nio-2-tutorial-writing-a-simple-filefolder-monitor-using-the-watch-service-api/ では、
フォルダ下の変化を監視するサービスの作成例があります。
この中で
FileSystems.getDefault().newWatchService()
というものを利用しています。
google で "java FileSystems" を検索することで、もっといろいろな利用例を見つける事ができるとおもいます。
投稿2014/09/24 14:15
総合スコア22324
0
ベストアンサー
おっしゃるとおり実際にはFileSystemを継承したクラスが存在します。そのクラスでabstractメソッドを実装しています。そのクラスの名前など具体的な詳細はユーザに公開されていませんのでドキュメントを見ても書いてありません。この例でいうとFileSystem(を実装した)クラスの名前がプラットフォーム依存なためにユーザに公開したくないのです。Javaは基本的に特定のプラットフォームに依存しないコーディングができるというのがひとつの売り文句なので「Windowsのときはこのクラス、Machintoshのときはあのクラス、Linuxのときはまた別のクラスを使ってください」なんていう仕様にしたくないのですね。こういった場合に適切なクラスのインスタンスはFileSystems.getDefault()のようなものを介して間接的に取得するようになっています。
投稿2014/09/24 13:17
総合スコア18394
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2014/09/26 12:46
2014/09/26 14:34
2014/09/30 12:57
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2014/09/25 14:06