<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # Java 文件教程 原文:http://zetcode.com/java/file/ Java 文件教程展示了如何在 Java 中使用文件。 我們創建文件,找到文件的大小,復制文件,刪除文件,重命名文件,從文件中讀取,寫入文件,并使用 Java `Files`獲取文件所有者。 `Files`包含用于處理 Java 語言文件的靜態方法。 `Path`是用于在文件系統中定位文件的對象。 路徑形成層次結構,由目錄和文件名元素序列組成,并由特殊的分隔符或定界符分隔。 可以使用`Paths.get()`和`File.toPath()`方法創建`Path`。 `bugs.txt` ```java Assasin bug, Avondale spider, Backswimmer, Bamboo moth, Banana moth, Bed bug, Black cocroach, Blue moon, Bumble Bee, Carpenter Bee, Cattle tick, Cave Weta, Cicada, Cinnibar, Click beetle, Clothes moth, Codling moth, Centipede, Earwig, Eucalypt longhorn beetle, Field Grasshopper, Garden slug, Garden soldier, German cockroach, German wasp, Giant dragonfly, Giraffe weevil, Grass grub, Grass looper, Green planthopper, Green house spider, Gum emperor, Gum leaf skeletoniser, Hornet, Mealybug, Mites, Mole Cricket, Monarch butterfly, Mosquito, Silverfish, Wasp, Water boatman, Winged weta, Wolf spider, Yellow Jacket, Yellow Admiral ``` 這是一個示例文本文件,可以在應用中使用。 ## Java 創建文件 以下示例使用`Files.createFile()`創建一個新文件。 `com/zetcode/JavaCreateFile.java` ```java package com.zetcode; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.attribute.FileAttribute; import java.nio.file.attribute.PosixFilePermission; import java.nio.file.attribute.PosixFilePermissions; import java.util.HashSet; import java.util.Set; public class JavaCreateFile { public static void main(String[] args) throws IOException { Set<PosixFilePermission> perms = new HashSet<>(); perms.add(PosixFilePermission.OWNER_READ); perms.add(PosixFilePermission.OWNER_WRITE); perms.add(PosixFilePermission.GROUP_READ); perms.add(PosixFilePermission.GROUP_WRITE); perms.add(PosixFilePermission.OTHERS_READ); FileAttribute<Set<PosixFilePermission>> attrs = PosixFilePermissions.asFileAttribute(perms); Path myPath = Paths.get("src/resources/myfile.txt"); if (Files.exists(myPath)) { System.out.println("File already exists"); } else { Files.createFile(myPath, attrs); System.out.println("File created"); } } } ``` 我們使用`PosixFilePermission`設置新創建的文件的文件許可權。 ```java Set<PosixFilePermission> perms = new HashSet<>(); perms.add(PosixFilePermission.OWNER_READ); perms.add(PosixFilePermission.OWNER_WRITE); perms.add(PosixFilePermission.GROUP_READ); perms.add(PosixFilePermission.GROUP_WRITE); perms.add(PosixFilePermission.OTHERS_READ); ``` 在這里,我們選擇文件的權限。 ```java Path myPath = Paths.get("src/resources/myfile.txt"); ``` 使用`Paths.get()`,我們獲得文件的`Path`。 ```java if (Files.exists(myPath)) { ``` 在創建文件之前,請檢查`Files.exists()`是否不存在。 如果我們嘗試創建現有文件,則會拋出`FileAlreadyExistsException`。 ```java Files.createFile(myPath, attrs); ``` 使用`Files.createFile()`創建文件。 它以文件的`Path`和文件屬性列表作為參數。 ## Java 文件大小 `Files.size()`確定文件的大小(以字節為單位)。 `com/zetcode/JavaFileSize.java` ```java package com.zetcode; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; public class JavaFileSize { public static void main(String[] args) throws IOException { Path myPath = Paths.get("src/resources/bugs.txt"); long fileSize = Files.size(myPath); System.out.format("File size: %d bytes%n", fileSize); } } ``` 該示例返回文本文件的大小。 ## Java 復制文件 `Files.copy()`復制文件。 `com/zetcode/JavaCopyFile.java` ```java package com.zetcode; import java.io.File; import java.io.IOException; import java.nio.file.Files; import java.nio.file.StandardCopyOption; public class JavaCopyFile { public static void main(String[] args) throws IOException { var source = new File("src/resources/bugs.txt"); var dest = new File("src/resources/bugs2.txt"); Files.copy(source.toPath(), dest.toPath(), StandardCopyOption.REPLACE_EXISTING); } } ``` 在示例中,我們復制一個文件。 ```java Files.copy(source.toPath(), dest.toPath(), StandardCopyOption.REPLACE_EXISTING); ``` `Files.copy()`具有以下參數:源文件的路徑,目標文件的路徑以及復制選項。 如果目標文件已經存在,`StandardCopyOption.REPLACE_EXISTING`將導致目標文件被替換。 ## Java 刪除文件 `Files.deleteIfExists()`刪除文件(如果存在)。 `com/zetcode/JavaDeleteFile.java` ```java package com.zetcode; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; public class JavaDeleteFile { public static void main(String[] args) throws IOException { Path myPath = Paths.get("src/resources/myfile.txt"); boolean fileDeleted = Files.deleteIfExists(myPath); if (fileDeleted) { System.out.println("File deleted"); } else { System.out.println("File does not exist"); } } } ``` 該示例刪除文件。 ```java boolean fileDeleted = Files.deleteIfExists(myPath); ``` `Files.deleteIfExists()`刪除文件,如果刪除了文件,則返回`true`;如果由于不存在而無法刪除文件,則返回`false`。 ## Java 移動文件 文件用`Files.move()`重命名。 `com/zetcode/JavaMoveFile.java` ```java package com.zetcode; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; public class JavaMoveFile { public static void main(String[] args) throws IOException { Path myPath = Paths.get("src/resources/myfile.txt"); Path myPath2 = Paths.get("src/resources/myfile2.txt"); Files.move(myPath, myPath2); System.out.println("File moved"); } } ``` 該示例重命名文件。 ```java Files.move(myPath, myPath2); ``` `Files.move()`具有兩個參數:源文件路徑和目標文件路徑。 ## Java 讀取文件 `Files.readAllLines()`從文件中讀取所有行。 它可以確保在讀取所有字節或引發異常后正確關閉文件。 `Files.readAllLines()`不適用于讀取大文件。 `com/zetcode/JavaReadFile.java` ```java package com.zetcode; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.List; public class JavaReadFile { public static void main(String[] args) throws IOException { Path myPath = Paths.get("src/resources/bugs.txt"); List<String> lines = Files.readAllLines(myPath, StandardCharsets.UTF_8); lines.forEach(line -> System.out.println(line)); } } ``` 該示例讀取文本文件并將其內容寫入控制臺。 ```java List<String> lines = Files.readAllLines(myPath, StandardCharsets.UTF_8); ``` `Files.readAllLines()`采用文件路徑和字符集作為參數。 ```java lines.forEach(line -> System.out.println(line)); ``` 使用`forEach()`,我們遍歷列表并打印所有行。 ## Java 寫入文件 `Files.write()`將文本行寫入文件。 該方法可確保最后正確關閉文件。 `com/zetcode/JavaWriteFile.java` ```java package com.zetcode; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.StandardOpenOption; import java.util.ArrayList; import java.util.List; public class JavaWriteFile { public static void main(String[] args) throws IOException { Path myPath = Paths.get("src/resources/myfile.txt"); List<String> lines = new ArrayList<>(); lines.add("blue sky"); lines.add("sweet orange"); lines.add("fast car"); lines.add("old book"); Files.write(myPath, lines, StandardCharsets.UTF_8, StandardOpenOption.CREATE); System.out.println("Data written"); } } ``` 在示例中,我們將四個文本行寫入一個文件。 ```java Files.write(myPath, lines, StandardCharsets.UTF_8, StandardOpenOption.CREATE); ``` `Files.write()`將文件路徑,字符集和文件打開選項作為參數。 如果文件`StandardOpenOption.CREATE`不存在,則將創建該文件。 ## Java 文件所有者 `Files.getOwner()`返回文件的所有者。 `com/zetcode/JavaGetFileOwner.java` ```java package com.zetcode; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.attribute.UserPrincipal; public class JavaGetFileOwner { public static void main(String[] args) throws IOException { Path myPath = Paths.get("src/resources/bugs.txt"); UserPrincipal userPrincipal = Files.getOwner(myPath); String owner = userPrincipal.getName(); System.out.println(owner); } } ``` 在示例中,我們獲得文件的所有者。 在本教程中,我們使用`Files`完成了一些基本的文件操作。 您可能也對相關教程感興趣: [Java 復制文件](/java/copyfile/), [Java `Files.list`教程](/java/fileslist/), [Java 創建目錄](/java/createdirectory/), [Java 文件大小](/java/filesize/),[用 Java 創建文件](/java/createfile/),[用 Java 讀取文本文件](/java/readtext/), [Apache `FileUtils`教程](/java/fileutils/)和 [Java 教程](/lang/java/)。 列出[所有 Java 教程](/all/#java)。
                  <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>

                              哎呀哎呀视频在线观看