Java輸入輸出流基礎入門

Java提供了強大的輸入輸出流庫(InputStream,OutputStream)來處理不同種類的數據類型。通過使用這些流,我們可以方便地讀取/寫入任何類型的數據。本文將介紹Java中輸入/輸出流的基本知識和使用。

一、輸入流和輸出流的概念

Java輸入流是用於從源讀取數據的位元組序列。Java的輸出流是用於將位元組以序列的形式寫入到目標中的。Java中的輸入輸出流均是抽象類,不能直接創建它們的對象。要使用它們,需要使用其子類。

InputStream類和OutputStream類是抽象類。Java SDK提供了多個InputStream和OutputStream的子類,針對不同的輸出目的地和輸入源進行數據處理。InputStream和OutputStream類是所有輸入/輸出流類的超類,它們定義了流操作的基本方法。

二、讀取文件

下面的代碼演示了如何使用Java的FileInputStream類從文本文件中讀取數據:

import java.io.*;
public class ReadFile {
   public static void main(String[] args) {
      try {
         FileInputStream file = new FileInputStream("example.txt");
         int i = 0;
         while((i = file.read()) != -1) {
            System.out.print((char)i);
         }
         file.close();
      } catch(Exception e) {
         e.printStackTrace();
      }
   }
}

以上代碼創建了一個名為「example.txt」的文件,該文件包含要讀取的數據。然後,我們使用FileInputStream對象file來讀取該文件中的數據。while循環將每個位元組從file對象讀取並向控制台寫入字元。

三、寫入文件

下面的代碼演示了如何使用Java的FileOutputStream類向文本文件中寫入數據:

import java.io.*;
public class WriteFile {
   public static void main(String[] args) {
      try {
         FileOutputStream file = new FileOutputStream("example.txt");
         byte[] b = "Hello World".getBytes();
         file.write(b);
         file.close();
      } catch(Exception e) {
         e.printStackTrace();
      }
   }
}

以上代碼創建了一個名為「example.txt」的文件,然後使用FileOutputStream對象file向其中寫入「Hello World」字元串。最後,關閉該文件。

四、將輸入流用作字元串

下面的代碼演示了如何使用Java的BufferedReader類從控制台讀取輸入,並將其作為字元串處理:

import java.io.*;
public class ReadString {
   public static void main(String[] args) {
      BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
      System.out.print("Enter String : ");
      String s = null;
      try {
         s = br.readLine();
      } catch(IOException e) {
         e.printStackTrace();
      }
      System.out.println("You entered : "+s);
   }
}

以上代碼通過創建BufferedReader對象來讀取System.in流(即控制台輸入流)。然後,使用讀取到的字元串並輸出到控制台。

五、將輸出流用作字元串

下面的代碼演示了如何使用Java的OutputStreamWriter類向輸出流中寫入字元串:

import java.io.*;
public class WriteString {
   public static void main(String[] args) {
      OutputStreamWriter out = new OutputStreamWriter(System.out);
      try {
         out.write("Hello World");
         out.flush();
      } catch(IOException e) {
         e.printStackTrace();
      }
   }
}

以上代碼創建OutputStreamWriter對象out來向System.out流中寫入字元。然後使用write()方法向out對象寫入字元串,並在使用flush()方法刷新流時輸出到控制台。flush()方法確保所有未寫的數據都被寫完。

六、結語

本文提供了Java輸入輸出流的基礎知識,並展示了如何使用這些流來讀/寫數據。Java輸入/輸出流的核心思想是讀取/寫入位元組。要使用輸入/輸出流,需要使用其子類來操作不同類型的數據。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/247396.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 13:23
下一篇 2024-12-12 13:23

相關推薦

  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Python wordcloud入門指南

    如何在Python中使用wordcloud庫生成文字雲? 一、安裝和導入wordcloud庫 在使用wordcloud前,需要保證庫已經安裝並導入: !pip install wo…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變數和數…

    編程 2025-04-29
  • Python小波分解入門指南

    本文將介紹Python小波分解的概念、基本原理和實現方法,幫助初學者掌握相關技能。 一、小波變換概述 小波分解是一種廣泛應用於數字信號處理和圖像處理的方法,可以將信號分解成多個具有…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29

發表回復

登錄後才能評論