<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # Apache `FileUtils`教程 原文:http://zetcode.com/java/fileutils/ Apache `FileUtils`教程顯示了如何使用 Apache `FileUtils`來處理 Java 中的文件和目錄。 這些示例讀取,寫入,復制,創建,刪除,列出文件并獲取文件大小。 Apache `FileUtils`是常規的文件操作工具。 `FileUtils`是 Apache Commons IO 的一部分,Apache Commons IO 是一個工具庫,可幫助開發 Java 中的 IO 功能。 ```java <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.6</version> </dependency> ``` 在示例中,我們使用`commons-io`依賴項。 ## Apache `FileUtils`創建和刪除文件 使用`FileUtils.touch()`創建一個新文件,并使用`FileUtils.deleteQuietly()`將其刪除。 `CreateDeleteFileEx.java` ```java package com.zetcode; import java.io.File; import java.io.IOException; import org.apache.commons.io.FileUtils; public class CreateDeleteFileEx { public static void main(String[] args) throws IOException { File myfile = new File("src/main/resources/myfile.txt"); FileUtils.touch(myfile); if (myfile.exists()) { System.out.println("The file exists"); } else { System.out.println("The file does not exist"); } FileUtils.deleteQuietly(myfile); if (myfile.exists()) { System.out.println("The file exists"); } else { System.out.println("The file does not exist"); } } } ``` 該示例創建一個新文件,檢查其存在,將其刪除,然后再次檢查其存在。 ```java File myfile = new File("src/main/resources/myfile.txt"); FileUtils.touch(myfile); ``` 使用`FileUtils.touch()`創建一個新文件。 ```java if (myfile.exists()) { ``` 我們使用`File`的`exists()`方法檢查文件是否存在。 ```java FileUtils.deleteQuietly(myfile); ``` 該文件用`FileUtils.deleteQuietly()`刪除。 ## Apache `FileUtils`復制文件 可以使用`FileUtils.copyFile()`和`FileUtils.copyFileToDirectory()`方法復制文件。 要比較文件內容,我們可以使用`FileUtils.contentEquals()`方法。 `CopyFileEx.java` ```java package com.zetcode; import java.io.File; import java.io.IOException; import org.apache.commons.io.FileUtils; public class CopyFileEx { public static void main(String[] args) throws IOException { File myfile1 = new File("src/main/resources/myfile.txt"); File myfile2 = new File("src/main/resources/myfile2.txt"); FileUtils.copyFile(myfile1, myfile2); if (FileUtils.contentEquals(myfile1, myfile2)) { System.out.println("The files have equal content"); } else { System.out.println("The files do not have equal content"); } File docs = new File("src/main/resources/docs"); FileUtils.forceMkdir(docs); FileUtils.copyFileToDirectory(myfile2, docs); } } ``` 該示例將文件復制到同一目錄中并比較它們的內容。 然后,它創建一個新目錄并將文件復制到該新目錄。 ```java FileUtils.copyFile(myfile1, myfile2); ``` 我們使用`FileUtils.copyFile()`將文件復制到同一目錄中。 ```java if (FileUtils.contentEquals(myfile1, myfile2)) { ``` 我們用`FileUtils.contentEquals()`比較兩個文件的內容。 ```java FileUtils.forceMkdir(docs); ``` 使用`FileUtils.forceMkdir()`創建一個新目錄。 ```java FileUtils.copyFileToDirectory(myfile2, docs); ``` 使用`FileUtils.copyFileToDirectory()`將文件復制到新目錄。 在下面的示例中,我們將 URL 資源復制到本地文件。 `CopyUrl2FileEx.java` ```java package com.zetcode; import java.io.File; import java.io.IOException; import java.net.URL; import java.nio.charset.StandardCharsets; import org.apache.commons.io.FileUtils; public class CopyUrl2FileEx { public static void main(String[] args) throws IOException { URL myurl = new URL("http://www.something.com"); File myfile = new File("src/main/resources/something.html"); FileUtils.copyURLToFile(myurl, myfile); String content = FileUtils.readFileToString(myfile, StandardCharsets.UTF_8.name()); System.out.println(content); } } ``` 該示例復制 HTML 頁面并將其寫入文件。 ```java URL myurl = new URL("http://www.something.com"); ``` 我們閱讀了`www.something.com`網頁的內容。 ```java File myfile = new File("src/main/resources/something.html"); ``` 頁面的 HTML 內容將被寫入`src/main/resources/something.html`文件。 ```java FileUtils.copyURLToFile(myurl, myfile); ``` 我們使用`FileUtils.copyURLToFile()`將網頁復制到本地文件。 ```java String content = FileUtils.readFileToString(myfile, StandardCharsets.UTF_8.name()); System.out.println(content); ``` 我們讀取本地文件的內容并將其打印到控制臺。 ## Apache `FileUtils`獲取文件大小 我們使用`FileUtils.sizeOf()`確定文件大小,并使用`FileUtils.sizeOfDirectory()`確定目錄大小。 `GetFileSizeEx.java` ```java package com.zetcode; import java.io.File; import org.apache.commons.io.FileUtils; public class GetFileSizeEx { public static void main(String[] args) { File myfile = new File("/home/janbodnar/tmp/rotunda.jpg"); long fileSizeB = FileUtils.sizeOf(myfile); System.out.printf("The size of file is: %d bytes\n", fileSizeB); File mydir = new File("/home/janbodnar/tmp"); long dirSizeB = FileUtils.sizeOfDirectory(mydir); double dirSizeKB = (double) dirSizeB / FileUtils.ONE_KB; double dirSizeMB = (double) dirSizeB / FileUtils.ONE_MB; System.out.printf("The size of directory is: %d bytes\n", dirSizeB); System.out.printf("The size of file is: %.2f kilobytes\n", dirSizeKB); System.out.printf("The size of file is: %.2f megabytes\n", dirSizeMB); } } ``` 在示例中,我們獲得文件和目錄的大小。 ```java double dirSizeKB = (double) dirSizeB / FileUtils.ONE_KB; double dirSizeMB = (double) dirSizeB / FileUtils.ONE_MB; ``` 我們使用`FileUtils.ONE_KB`和`FileUtils.ONE_MB`常數來計算大小(以千字節和兆字節為單位)。 ## Apache `FileUtils`讀取文件 可以使用`FileUtils.readFileToString()`將文件讀取為字符串,或者使用`FileUtils.readLines()`將文件讀取為字符串集合。 `words.txt` ```java blue, tank, robot, planet, wisdom, cherry, chair, pen, keyboard, tree, forest, plant sky, movie, white, colour, music, dog, cat ``` 我們在`src/main/resources`目錄中有此文本文件。 `ReadFileEx.java` ```java package com.zetcode; import java.io.File; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.util.List; import org.apache.commons.io.FileUtils; public class ReadFileEx { public static void main(String[] args) throws IOException { File myfile = new File("src/main/resources/words.txt"); String contents = FileUtils.readFileToString(myfile, StandardCharsets.UTF_8.name()); System.out.println(contents); List<String> lines = FileUtils.readLines(myfile, StandardCharsets.UTF_8.name()); System.out.printf("There are %d lines in the file\n", lines.size()); System.err.printf("The second line is: %s", lines.get(1)); } } ``` 該示例將文本文件讀入字符串和字符串列表。 ```java String contents = FileUtils.readFileToString(myfile, StandardCharsets.UTF_8.name()); ``` 在`FileUtils.readFileToString()`方法的第二個參數中,我們指定文件編碼類型。 ## Apache `FileUtils`寫入文件 使用`FileUtils.writeStringToFile()`將字符串寫入文件,使用`FileUtils.writeLines()`將字符串寫入字符串集合。 `WriteFileEx.java` ```java package com.zetcode; import java.io.File; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.List; import org.apache.commons.io.FileUtils; public class WriteFileEx { public static void main(String[] args) throws IOException { String string = "Today is a gloomy day."; File myfile = new File("src/main/resources/myfile.txt"); FileUtils.writeStringToFile(myfile, string, StandardCharsets.UTF_8.name()); List<String> lines = new ArrayList<>(); lines.add("A dark forest."); lines.add("A stray dog."); lines.add("A massive mountain."); File myfile2 = new File("src/main/resources/myfile2.txt"); FileUtils.writeLines(myfile2, StandardCharsets.UTF_8.name(), lines); } } ``` 該示例將一個字符串和一個字符串列表寫入文件。 ## Apache `FileUtils`列出文件 `FileUtils.listFiles()`方法根據選擇的條件查找文件。 `ListFilesEx.java` ```java package com.zetcode; import java.io.File; import java.util.Collection; import org.apache.commons.io.FileUtils; public class ListFilesEx { public static void main(String[] args) { File myDir = new File("/home/janbodnar/tmp"); Collection<File> files = FileUtils.listFiles(myDir, new String[] {"txt", "html"}, true); files.stream().forEach(System.out::println); } } ``` 在此示例中,我們使用`FileUtils.listFiles()`查找與`txt`或`html`擴展名匹配的文件。 ```java Collection<File> files = FileUtils.listFiles(myDir, new String[] {"txt", "html"}, true); ``` 第二個參數是擴展數組。 該文件必須與要選擇的這些擴展名之一匹配。 第三個參數指定我們也在子目錄中搜索文件。 下一個示例搜索與過濾器匹配的文件。 `ListFilesFilterEx.java` ```java package com.zetcode; import java.io.File; import java.util.Collection; import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOCase; import org.apache.commons.io.filefilter.DirectoryFileFilter; import org.apache.commons.io.filefilter.NotFileFilter; import org.apache.commons.io.filefilter.WildcardFileFilter; public class ListFilesFilterEx { public static void main(String[] args) { File myDir = new File("/home/janbodnar/tmp"); Collection<File> files = FileUtils.listFiles(myDir, new WildcardFileFilter("*.txt", IOCase.SENSITIVE), new NotFileFilter(DirectoryFileFilter.DIRECTORY)); files.stream().forEach(System.out::println); } } ``` 使用覆蓋的`FileUtils.listFiles()`方法,我們搜索與通配符過濾器匹配的文件。 ```java Collection<File> files = FileUtils.listFiles(myDir, new WildcardFileFilter("*.txt", IOCase.SENSITIVE), new NotFileFilter(DirectoryFileFilter.DIRECTORY)); ``` 該方法的第一個參數是要搜索的目錄名稱。第二個參數是文件過濾器,最后一個是目錄過濾器。 我們使用`WildcardFileFilter`搜索與`*.txt`通配符匹配的文件,并禁用`NotFileFilter`搜索目錄。 ## Apache `FileUtils`獲取目錄 `FileUtils.getTempDirectoryPath()`返回到系統臨時目錄的路徑,`FileUtils.getUserDirectoryPath()`返回到用戶的主目錄的路徑。 `GetDirsEx.java` ```java package com.zetcode; import org.apache.commons.io.FileUtils; public class GetDirsEx { public static void main(String[] args) { String tempDir = FileUtils.getTempDirectoryPath(); System.out.println(tempDir); String userDir = FileUtils.getUserDirectoryPath(); System.out.println(userDir); } } ``` 該示例檢索并打印系統臨時目錄和用戶目錄。 在本教程中,我們使用 Apache `FileUtils`處理文件。 您可能也對相關教程感興趣:[用 Java 創建文件](/java/createfile/),[用 Java 復制文件](/java/copyfile/), [Java 文件大小](/java/filesize/),[用 Java 讀取文本文件](/articles/javareadtext/) ,[用 Java 讀寫 ICO 圖像](/articles/javaico/), [Java Swing 教程](/tutorials/javaswingtutorial/), [Java 教程](/lang/java/),[用 Java 顯示圖像](/java/displayimage/)。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看