SWT 의 DirectoryDialog 를 이용하여 폴더를 읽고 폴더의 파일들을 읽어서 원하는 List 의 형식으로 만든다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| Shell shell = GUIUtil.getShell(); shell.getDisplay().asyncExec(() -> { DirectoryDialog dialog = new DirectoryDialog(shell); dialog.setMessage("Please select a directory and click OK"); String dir = dialog.open(); if (dir != null) { List<MapImage> mapImages = null; try { mapImages = Files.list(new File(dir).toPath()) .filter(file -> file.toFile().isFile()) .filter(file -> !file.toFile().getName().endsWith(".txt")) .map(file -> { return new MapImage(shell, file.toFile()); }).collect(Collectors.toList()); } catch (Exception e) { e.printStackTrace(); }
System.err.println(mapImages); } });
|