91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java創建寫入文件的方式有哪些

發布時間:2022-12-13 10:33:48 來源:億速云 閱讀:154 作者:iii 欄目:開發技術

本篇內容主要講解“java創建寫入文件的方式有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“java創建寫入文件的方式有哪些”吧!

在本文中大量的使用到了try-with-resources語法,這個語法真的是很久的了,但是的確還有小伙伴不知道(知道的小伙伴就略過吧)。我還是說一下,下文中的管道流不是我沒close,是自動關閉close的。

try(管道流、連接等實現了Closeable接口的類){
  //這里使用類對象操作
}
//用try()包含起來,就不用在finally里面自己手動的去 Object.close()了,會自動的關閉

1. Java 8 Files.newBufferedWriter

java8 提供的newBufferedWriter可以創建文件,并向文件內寫入數據。可以通過追加寫模式,向文件內追加內容。

@Test
void testCreateFile1() throws IOException {
  String fileName = "D:\\data\\test\\newFile.txt";
 
  Path path = Paths.get(fileName);
  // 使用newBufferedWriter創建文件并寫文件
  // 這里使用了try-with-resources方法來關閉流,不用手動關閉
  try (BufferedWriter writer =
          Files.newBufferedWriter(path, StandardCharsets.UTF_8)) {
   writer.write("Hello World -創建文件!!");
  }
 
  //追加寫模式
  try (BufferedWriter writer =
        Files.newBufferedWriter(path,
            StandardCharsets.UTF_8,
            StandardOpenOption.APPEND)){
    writer.write("Hello World -字母哥!!");
  }
}

2. Java 7 Files.write

下面的這種方式Files.write,是筆者推薦的方式,語法簡單,而且底層是使用Java NIO實現的。同樣提供追加寫模式向已經存在的文件種追加數據。這種方式是實現文本文件簡單讀寫最方便快捷的方式。

@Test
void testCreateFile2() throws IOException {
  String fileName = "D:\\data\\test\\newFile2.txt";
 
  // 從JDK1.7開始提供的方法
  // 使用Files.write創建一個文件并寫入
  Files.write(Paths.get(fileName),
        "Hello World -創建文件!!".getBytes(StandardCharsets.UTF_8));
 
  // 追加寫模式
  Files.write(
     Paths.get(fileName),
     "Hello World -字母哥!!".getBytes(StandardCharsets.UTF_8),
     StandardOpenOption.APPEND);
}

3. PrintWriter

PrintWriter是一個比較古老的文件創建及寫入方式,從JDK1.5就已經存在了,比較有特點的是:PrintWriter的println方法,可以實現一行一行的寫文件。

@Test
void testCreateFile3() throws IOException {
  String fileName = "D:\\data\\test\\newFile3.txt";
 
  // JSD 1.5開始就已經存在的方法
  try (PrintWriter writer = new PrintWriter(fileName, "UTF-8")) {
   writer.println("Hello World -創建文件!!");
   writer.println("Hello World -字母哥!!");
  }
 
  // Java 10進行了改進,支持使用StandardCharsets指定字符集
  /*try (PrintWriter writer = new PrintWriter(fileName, StandardCharsets.UTF_8)) {
 
   writer.println("first line!");
   writer.println("second line!");
 
  } */
 
}

4. File.createNewFile()

createNewFile()方法的功能相對就比較純粹,只是創建文件不做文件寫入操作。 返回true表示文件成功,返回 false表示文件已經存在.可以配合FileWriter 來完成文件的寫操作。

@Test
void testCreateFile4() throws IOException {
  String fileName = "D:\\data\\test\\newFile4.txt";
 
  File file = new File(fileName);
 
  // 返回true表示文件成功
  // false 表示文件已經存在
  if (file.createNewFile()) {
   System.out.println("創建文件成功!");
  } else {
   System.out.println("文件已經存在不需要重復創建");
  }
 
  // 使用FileWriter寫文件
  try (FileWriter writer = new FileWriter(file)) {
   writer.write("Hello World -創建文件!!");
  }
 
}

5.最原始的管道流方法

最原始的方式就是使用管道流嵌套的方法,但是筆者覺得這種方法歷久彌新,使用起來非常靈活。你想去加上Buffer緩沖,你就嵌套一個BufferedWriter,你想去向文件中寫java對象你就嵌套一個ObjectOutputStream。但歸根結底要用到FileOutputStream。

@Test
void testCreateFile5() throws IOException {
  String fileName = "D:\\data\\test\\newFile5.txt";
  try(FileOutputStream fos = new FileOutputStream(fileName);
   OutputStreamWriter osw = new OutputStreamWriter(fos);
   BufferedWriter bw = new BufferedWriter(osw);){
   bw.write("Hello World -創建文件!!");
   bw.flush();
   bw.close();
  }
}

6、文件工具類

import org.apache.commons.io.FileUtils;
public static void saveTxt(String filePath, String fileName, String data){
    try{
        File folder = new File(filePath);
        if(!folder.exists()){
            folder.mkdirs();
        }
        File file = new File(filePath + "/" + fileName);
        FileUtils.writeStringToFile(file,data,"UTF-8");
    }catch(IOEException e){
        log.error("error")
    }
}

到此,相信大家對“java創建寫入文件的方式有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

项城市| 文昌市| 车致| 垣曲县| 沾化县| 灌南县| 松阳县| 安图县| 武邑县| 海口市| 广宗县| 平邑县| 宁国市| 连平县| 达孜县| 米易县| 清流县| 黎平县| 巴青县| 子洲县| 托克逊县| 顺昌县| 法库县| 湘潭县| 陕西省| 云南省| 玉溪市| 涪陵区| 饶平县| 石渠县| 靖西县| 通海县| 连城县| 富阳市| 蒙城县| 屏东市| 都匀市| 鸡西市| 定襄县| 恩平市| 镇原县|