Hoje falaremos do pacote Java NIO2. Essa \u00e9 a nova API java para acesso a arquivos que foi disponibilizada com a vers\u00e3o 7 do Java. Este \u00e9 um assunto importante para quem deseja utilizar uma boa forma de acesso a arquivos e excencial para quem deseja tirar a certifica\u00e7\u00e3o Java Programmer II<\/a>.<\/p>\n Objetivos da certifica\u00e7\u00e3o:<\/p>\n Resultado esperado:<\/p>\n Resultado esperado:<\/p>\n Recomendo que leia:Manipula\u00e7\u00e3o de Arquivos em java<\/a><\/p>\n Leia tamb\u00e9m: Como criar um arquivo<\/a><\/p>\n\n
\nVamos aos exemplos:<\/p>\n1. Exemplo b\u00e1sico da utiliza\u00e7\u00e3o da Classe Path<\/H2><\/p>\n
\r\n\r\nimport java.io.IOException;\r\nimport java.nio.file.Path;\r\nimport java.nio.file.Paths;\r\n\r\npublic class JavaNIO2 {\r\n\r\n\tpublic static void main(String[] args) {\r\n\r\n\t\tPath path = Paths.get(\"D:\/javanio\/br\/com\/feltex\/jse\");\r\n\r\n\t\tSystem.out.format(\"toString: %s%n\", path.toString());\r\n\t\tSystem.out.format(\"getFileName: %s%n\", path.getFileName());\r\n\t\tSystem.out.format(\"getName(0):\", path.getName(0));\r\n\t\tSystem.out.format(\"getNameCount: %d%n\", path.getNameCount());\r\n\t\tSystem.out.format(\"subpath(0,2): %s%n\", path.subpath(0, 2));\r\n\t\tSystem.out.format(\"getParent: %s%n\", path.getParent());\r\n\t\tSystem.out.format(\"getRoot: %s%n\", path.getRoot());\r\n\t\ttry {\r\n\t\t\t\/\/ Verifica se existe o path informado.\r\n\t\t\t\/\/ Caso n\u00e3o exista \u00e9 lan\u00e7ada uma exce\u00e7\u00e3o \"NoSuchFileException:\"\r\n\t\t\tpath.toRealPath();\r\n\t\t} catch (IOException e) {\r\n\t\t\te.printStackTrace();\r\n\t\t}\r\n\r\n\t}\r\n\r\n}\r\n<\/pre>\n
\r\ntoString: D:\\javanio\\br\\com\\feltex\\jse\r\ngetFileName: jse\r\ngetName(0):getNameCount: 5\r\nsubpath(0,2): javanio\\br\r\ngetParent: D:\\javanio\\br\\com\\feltex\r\ngetRoot: D:\\\r\n<\/pre>\n
2. Utiliza\u00e7\u00e3o da classe PathMatcher que realiza uma busca recursiva em um diret\u00f3rio<\/H2> <\/p>\n
\r\n\r\n\/\/ Uso de importa\u00e7\u00e3o est\u00e1tica\r\nimport static java.nio.file.FileVisitResult.CONTINUE;\r\n\r\nimport java.io.IOException;\r\nimport java.nio.file.FileSystems;\r\nimport java.nio.file.FileVisitResult;\r\nimport java.nio.file.Files;\r\nimport java.nio.file.Path;\r\nimport java.nio.file.PathMatcher;\r\nimport java.nio.file.Paths;\r\nimport java.nio.file.SimpleFileVisitor;\r\nimport java.nio.file.attribute.BasicFileAttributes;\r\n\r\npublic class MyPathMatcher {\r\n\r\n\tpublic static class Finder extends SimpleFileVisitor
\r\n D:\\Temp\\X\\java\\license.txt\r\n D:\\Temp\\X\\psqlodbc_09_03_0210\\README.txt\r\nLocalizados: 2\r\n<\/pre>\n
Conclus\u00e3o<\/H2>
\n As classes apresentadas nos ajudam bastante a trabalhar com acesso a arquivos. Em especial a classe Path que tem \u00e9 a indica\u00e7\u00e3o para usarmos nos acessos a arquivos em substitui\u00e7\u00e3o \u00e0 classe File.
\n N\u00e3o deixe de acessar os links indicados abaixo e conhecer melhor essa API do Java. Abra\u00e7os e vida que segue.<\/p>\nLinks relacionados<\/H2><\/p>\n