32 import java.io.InputStream; |
32 import java.io.InputStream; |
33 import java.io.OutputStream; |
33 import java.io.OutputStream; |
34 import java.io.OutputStreamWriter; |
34 import java.io.OutputStreamWriter; |
35 import java.io.UnsupportedEncodingException; |
35 import java.io.UnsupportedEncodingException; |
36 import java.io.Writer; |
36 import java.io.Writer; |
|
37 import java.nio.file.DirectoryStream; |
37 import java.nio.file.Files; |
38 import java.nio.file.Files; |
38 import java.nio.file.Path; |
39 import java.nio.file.Path; |
39 import java.util.ArrayList; |
40 import java.util.ArrayList; |
40 import java.util.Arrays; |
41 import java.util.Arrays; |
41 import java.util.LinkedHashSet; |
42 import java.util.LinkedHashSet; |
219 } |
220 } |
220 |
221 |
221 /** If the file is a directory, list its contents. */ |
222 /** If the file is a directory, list its contents. */ |
222 public Iterable<DocFile> list() throws IOException { |
223 public Iterable<DocFile> list() throws IOException { |
223 List<DocFile> files = new ArrayList<DocFile>(); |
224 List<DocFile> files = new ArrayList<DocFile>(); |
224 for (Path f: Files.newDirectoryStream(file)) { |
225 try (DirectoryStream<Path> ds = Files.newDirectoryStream(file)) { |
225 files.add(new StandardDocFile(f)); |
226 for (Path f: ds) { |
|
227 files.add(new StandardDocFile(f)); |
|
228 } |
226 } |
229 } |
227 return files; |
230 return files; |
228 } |
231 } |
229 |
232 |
230 /** Create the file as a directory, including any parent directories. */ |
233 /** Create the file as a directory, including any parent directories. */ |