最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java中文件創(chuàng)建于寫入內容的常見方法

 更新時間:2023年10月25日 08:01:36   作者:秋官  
在日常開發(fā)中,肯定離不開要和文件打交道,今天就簡單羅列一下平時比較常用的創(chuàng)建文件并向文件中寫入數(shù)據(jù)的幾種方式,希望對大家有一定的幫助

1. 使用NIO的Files工具類

import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.StandardOpenOption;
import java.util.Collections;

/**
 * @author fu yuan hui
 * @date 2023-10-24 19:39:11 Tuesday
 */
public class FileTest {

    public static void main(String[] args) throws Exception{

        String path = "D:/test/java.txt";
        //Files.createFile(Paths.get(path));

        /**
         * 1.如果文件不存在,則會創(chuàng)建文件
         * 2.這種方式會使后面的內容覆蓋前面的內容
         */
        Files.write(Paths.get(path), "hello world!!!".getBytes(StandardCharsets.UTF_8));


        /**
         * 1.如果文件不存在,則會創(chuàng)建文件
         * 2.文件內容追加,
         */
        Files.write(Paths.get(path), "hello world!!!".getBytes(StandardCharsets.UTF_8), StandardOpenOption.APPEND);


        /**
         * 文件內容追加. 注意:如果文件存在,則會報錯,可以使用 StandardOpenOption.CREATE 或者不寫
         */
        Files.write(Paths.get(path), "hello world2222!!!".getBytes(StandardCharsets.UTF_8), StandardOpenOption.CREATE_NEW, StandardOpenOption.APPEND);


        /**
         * 1.如果文件不存在,則會創(chuàng)建文件
         * 2.文件內容追加
         * 3.第二個參數(shù)是集合,可以實現(xiàn)“換行”追加
         */
        Files.write(Paths.get(path), Collections.singleton("hello world333!"), StandardCharsets.UTF_8, StandardOpenOption.APPEND);
        
        
        //-----------------------------------------------------------------------//
        
       //還可以通過Files.newBufferedWriter來創(chuàng)建文件并寫入內容
       
        /**
         * 1.如果文件不存在,會創(chuàng)建文件
         * 2.文件內容會覆蓋
         */
        try(BufferedWriter bw = Files.newBufferedWriter(Paths.get(path), StandardCharsets.UTF_8)) {
            bw.write("hello world!!!");
        }


        /**
         * 1.如果文件不存在,會創(chuàng)建文件
         * 2.文件內容會追加
         */
        try(BufferedWriter bw = Files.newBufferedWriter(Paths.get(path), StandardCharsets.UTF_8, StandardOpenOption.APPEND)) {
            bw.write("hello world222!!!");
        }
    }
   
}

在實際開發(fā)中,如果涉及到文件的創(chuàng)建,我一般是首選Files.createFile或者Files.write這種方式,首先是使用了NIO,性能好,其次是代碼簡潔。

2.通過commons-io的FileUtils工具類

import org.apache.commons.io.FileUtils;

import java.io.File;
import java.nio.charset.StandardCharsets;

/**
 * @author fu yuan hui
 * @date 2023-10-24 19:39:11 Tuesday
 */
public class FileTest {

    public static void main(String[] args) throws Exception{

        String path = "D:/test/java3.txt";


        /**
         * 1.如果文件不存在,則創(chuàng)建文件
         * 2.最后一個參數(shù)為true,表示追加
         */
        FileUtils.writeStringToFile(new File(path), "hello world999", StandardCharsets.UTF_8, true);
        
    }
}

3.使用BufferedWriter

package com.efreight.oss.transfer.handler;


import java.io.BufferedWriter;
import java.io.FileWriter;

/**
 * @author fu yuan hui
 * @date 2023-10-24 19:39:11 Tuesday
 */
public class FileTest {

    public static void main(String[] args) throws Exception{

        String path = "D:/test/java3.txt";

        /**
         * 1.如果文件不存在,則創(chuàng)建文件
         * 2.第二個參數(shù)為true:表示文件內容是追加
         */
        try(BufferedWriter bf = new BufferedWriter(new FileWriter(path, true))) {
            bf.write("hello world666");
        }

    }
}

4.使用 PrintWriter

import java.io.PrintWriter;
import java.nio.charset.StandardCharsets;

/**
 * @author fu yuan hui
 * @date 2023-10-24 19:39:11 Tuesday
 */
public class FileTest {

    public static void main(String[] args) throws Exception{

        String path = "D:/test/java3.txt";

        /**
         * 1.如果文件不存在,則創(chuàng)建文件
         * 2.一行一行往文件里面寫
         */
        try(PrintWriter printWriter = new PrintWriter(path, StandardCharsets.UTF_8.name())) {
            printWriter.println("hello world111");
            printWriter.println("hello world222");
            printWriter.write("today is very hot");
        }

    }
}

5.使用 RandomAccessFile

import java.io.RandomAccessFile;

/**
 * @author fu yuan hui
 * @date 2023-10-24 19:39:11 Tuesday
 */
public class FileTest {

    public static void main(String[] args) throws Exception{

        String path = "D:/test/java4.txt";

        /**
         * 1.如果文件不存在,則創(chuàng)建文件
         * 2.可以通過seek方法來實現(xiàn)內容的追加
         */
        for (int i = 0; i < 5; i++) {
            try(RandomAccessFile rf = new RandomAccessFile(path, "rw")) {
                rf.seek(rf.length());
                rf.writeBytes("hello RandomAccessFile: " + i);
            }
        }
    }
}

上面就是整理的操作文件的常用方法,尤其推薦第一種方式和第二種方式,其他沒有羅列的比如: FileOutputStreamFileWriter等等,想必大家也都知道,這里就不再展示了。

以上就是Java中文件創(chuàng)建于寫入內容的常見方法的詳細內容,更多關于Java文件的資料請關注腳本之家其它相關文章!

相關文章

  • Spring Boot中防止遞歸查詢的兩種方式

    Spring Boot中防止遞歸查詢的兩種方式

    這篇文章主要給大家介紹了關于Spring Boot中防止遞歸查詢的兩種方式,兩種方式分別是在application.properties中配置和在entity中添加注解,都給出了詳細的示例代碼,需要的朋友們下面來一起看看吧。
    2017-06-06
  • java 值Document解析xml詳細介紹

    java 值Document解析xml詳細介紹

    這篇文章主要介紹了java 值Document解析xml詳細介紹的相關資料,需要的朋友可以參考下
    2017-05-05
  • Spring?Boot3虛擬線程的使用步驟詳解

    Spring?Boot3虛擬線程的使用步驟詳解

    虛擬線程是 Java 19 中引入的一個新特性,旨在通過簡化線程管理來提升應用程序的并發(fā)性能,這篇文章主要介紹了Spring?Boot3虛擬線程的使用步驟,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-03-03
  • Java中IO流簡介_動力節(jié)點Java學院整理

    Java中IO流簡介_動力節(jié)點Java學院整理

    Java io系統(tǒng)的設計初衷,就是為了實現(xiàn)“文件、控制臺、網(wǎng)絡設備”這些io設置的通信。接下來通過本文給大家介紹Java中IO流簡介,感興趣的朋友一起看看吧
    2017-05-05
  • idea配置SVN的教程

    idea配置SVN的教程

    文章介紹了如何安裝和配置TortoiseSVN以及在IntelliJ?IDEA中配置SVN,首先,安裝TortoiseSVN時需要選擇與電腦配置相匹配的版本,并確保安裝命令行客戶端工具,其次,在IntelliJ?IDEA中配置SVN時,需要指定SVN可執(zhí)行文件的路徑
    2025-01-01
  • Eclipse自定義啟動畫面和圖標的方法介紹

    Eclipse自定義啟動畫面和圖標的方法介紹

    這篇文章主要介紹了Eclipse自定義啟動畫面和圖標的方法介紹,以及一些eclipse的快捷鍵,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • 解決springboot文件上傳提示臨時文件夾不存在問題

    解決springboot文件上傳提示臨時文件夾不存在問題

    這篇文章主要介紹了解決springboot文件上傳提示臨時文件夾不存在問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • 詳解SpringBoot中的index首頁的訪問、自定義Favicon圖標

    詳解SpringBoot中的index首頁的訪問、自定義Favicon圖標

    這篇文章主要介紹了SpringBoot中的index首頁的訪問、自定義Favicon圖標,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-08-08
  • java基礎之泛型知識點總結

    java基礎之泛型知識點總結

    這篇文章主要介紹了java基礎之泛型知識點總結,文中有非常詳細的代碼示例,對正在學習java基礎的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-04-04
  • 如何使用 Shell 腳本查看多個服務器的端口是否打開的方法

    如何使用 Shell 腳本查看多個服務器的端口是否打開的方法

    這篇文章主要介紹了如何使用 Shell 腳本來查看多個服務器的端口是否打開的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06

最新評論

镇江市| 余庆县| 皮山县| 泰顺县| 南康市| 彰武县| 正阳县| 安丘市| 黄大仙区| 巴里| 青阳县| 蕉岭县| 太湖县| 内江市| 高淳县| 华亭县| 海原县| 肇东市| 渭南市| 齐河县| 正蓝旗| 开原市| 娄底市| 长白| 大荔县| 丁青县| 安仁县| 秦皇岛市| 迁安市| 内丘县| 扎鲁特旗| 双城市| 宁都县| 安化县| 岑巩县| 墨脱县| 新密市| 台东市| 台山市| 景洪市| 苗栗市|