日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java 方法、 流(Stream)、文件(File)和IO 总结

發(fā)布時間:2024/9/20 java 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java 方法、 流(Stream)、文件(File)和IO 总结 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

這里只總結(jié)幾個要點。

1. 方法的命名規(guī)則

1.方法的名字的第一個單詞應以小寫字母作為開頭后面的單詞則用大寫字母開頭寫,不使用連接符。例如:addPerson。
2.下劃線可能出現(xiàn)在 JUnit 測試方法名稱中用以分隔名稱的邏輯組件。一個典型的模式是:test<MethodUnderTest>_<state>,例如 testPop_emptyStack。

2. 方法調(diào)用

Java 支持兩種調(diào)用方法的方式,根據(jù)方法是否返回值來選擇。
當程序調(diào)用一個方法時,程序的控制權(quán)交給了被調(diào)用的方法。當被調(diào)用方法的返回語句執(zhí)行或者到達方法體閉括號時候交還控制權(quán)給程序。
當方法返回一個值的時候,方法調(diào)用通常被當做一個值。

注意:
main 方法是被 JVM 調(diào)用的,除此之外,main 方法和其它方法沒什么區(qū)別。
main 方法的頭部是不變的,public static void main(String[] args),帶修飾符 public 和 static,返回 void 類型值,方法名字是 main,此外帶個一個 String[] 類型參數(shù)。String[] 表明參數(shù)是字符串數(shù)組。

3. 方法的重載

就是說一個類的兩個方法擁有相同的名字,但是有不同的參數(shù)列表。
Java編譯器根據(jù)方法簽名判斷哪個方法應該被調(diào)用。
方法重載可以讓程序更清晰易讀。執(zhí)行密切相關任務的方法應該使用相同的名字。
重載的方法必須擁有不同的參數(shù)列表。你不能僅僅依據(jù)修飾符或者返回類型的不同來重載方法。

而方法名是方法的實際名稱。方法名和參數(shù)表共同構(gòu)成方法簽名。

4. 命令行參數(shù)的使用

有時候你希望運行一個程序時候再傳遞給它消息。這要靠傳遞命令行參數(shù)給main()函數(shù)實現(xiàn)。
命令行參數(shù)是在執(zhí)行程序時候緊跟在程序名字后面的信息。

public class CommandLine {public static void main(String args[]){ for(int i=0; i<args.length; i++){System.out.println("args[" + i + "]: " + args[i]);}} }

如下所示,運行這個程序:

$ javac CommandLine.java //編譯 $ java CommandLine this is a command line 200 -100 // 運行 args[0]: this args[1]: is args[2]: a args[3]: command args[4]: line args[5]: 200 args[6]: -100

在這里補充下:JDK和JRE的區(qū)別?
JRE(Java Runtime Enviroment)是Java的運行環(huán)境。面向Java程序的使用者,而不是開發(fā)者。如果你僅下載并安裝了JRE,那么你的系統(tǒng)只能運行Java程序。JRE是運行Java程序所必須環(huán)境的集合,包含JVM標準實現(xiàn)及 Java核心類庫。它包括Java虛擬機、Java平臺核心類和支持文件它不包含開發(fā)工具(編譯器、調(diào)試器等)。

JDK(Java Development Kit)又稱J2SDK(Java2 Software Development Kit),是Java開發(fā)工具包,它提供了Java的開發(fā)環(huán)境(提供了編譯器javac等工具,用于將java文件編譯為class文件)運行環(huán)境(提 供了JVM和Runtime輔助包,用于解析class文件使其得到運行)。如果你下載并安裝了JDK,那么你不僅可以開發(fā)Java程序,也同時擁有了運行Java程序的平臺。JDK是整個Java的核心,包括了Java運行環(huán)境(JRE),一堆Java工具tools.jar和Java標準類庫 (rt.jar)。

5. 可變參數(shù)

JDK 1.5 開始,Java支持傳遞同類型的可變參數(shù)給一個方法。
方法的可變參數(shù)的聲明如下所示:

typeName... parameterName

**在方法聲明中,在指定參數(shù)類型后加一個省略號(…) 。
一個方法中只能指定一個可變參數(shù),它必須是方法的最后一個參數(shù)。任何普通的參數(shù)必須在它之前聲明。**

public class VarargsDemo {public static void main(String args[]) {// 調(diào)用可變參數(shù)的方法printMax(34, 3, 3, 2, 56.5);printMax(new double[]{1, 2, 3});}public static void printMax( double... numbers) {if (numbers.length == 0) {System.out.println("No argument passed");return;}double result = numbers[0];for (int i = 1; i < numbers.length; i++){if (numbers[i] > result) {result = numbers[i];}}System.out.println("The max value is " + result);} }

以上實例編譯運行結(jié)果如下:

The max value is 56.5 The max value is 3.0

6. finalize() 方法

Java 允許定義這樣的方法,它在對象被垃圾收集器析構(gòu)(回收)之前調(diào)用,這個方法叫做 finalize( ),它用來清除回收對象。
例如,你可以使用 finalize() 來確保一個對象打開的文件被關閉了。
在 finalize() 方法里,你必須指定在對象銷毀時候要執(zhí)行的操作。
finalize() 一般格式是:

protected void finalize() {// 在這里終結(jié)代碼 }

關鍵字 protected 是一個限定符,它確保 finalize() 方法不會被該類以外的代碼調(diào)用
當然,Java 的內(nèi)存回收可以由 JVM 來自動完成。如果你手動使用,則可以使用上面的方法。

7. Java 流(Stream)、文件(File)和IO

Java.io 包幾乎包含了所有操作輸入、輸出需要的類。所有這些流類代表了輸入源和輸出目標。
Java.io 包中的流支持很多種格式,比如:基本類型、對象、本地化字符集等等。
一個流可以理解為一個數(shù)據(jù)的序列。輸入流表示從一個源讀取數(shù)據(jù),輸出流表示向一個目標寫數(shù)據(jù)。

7.1 讀取控制臺輸入

Java 的控制臺輸入由 System.in 完成。
為了獲得一個綁定到控制臺的字符流,你可以把 System.in 包裝在一個 BufferedReader 對象中來創(chuàng)建一個字符流。
下面是創(chuàng)建 BufferedReader 的基本語法:

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

BufferedReader 對象創(chuàng)建后,我們便可以使用 read() 方法從控制臺讀取一個字符,或者用 readLine() 方法讀取一個字符串。

  • 從 BufferedReader 對象讀取一個字符要使用 read() 方法,它的語法如下:
int read( ) throws IOException

每次調(diào)用 read() 方法,它從輸入流讀取一個字符并把該字符作為整數(shù)值返回。 當流結(jié)束的時候返回 -1。該方法拋出 IOException。

  • 從控制臺讀取字符串

從標準輸入讀取一個字符串需要使用 BufferedReader 的 readLine() 方法。
它的一般格式是:

String readLine( ) throws IOException

下面的程序讀取和顯示字符行直到你輸入了單詞”end”。

7.2 控制臺輸出

在此前已經(jīng)介紹過,控制臺的輸出由 print( ) 和 println() 完成。這些方法都由類 PrintStream 定義,System.out 是該類對象的一個引用。
PrintStream 繼承了 OutputStream類,并且實現(xiàn)了方法 write()。這樣,write() 也可以用來往控制臺寫操作。
PrintStream 定義 write() 的最簡單格式如下所示:

void write(int byteval)

7.3 讀寫文件

如前所述,一個流被定義為一個數(shù)據(jù)序列。輸入流用于從源讀取數(shù)據(jù),輸出流用于向目標寫數(shù)據(jù)。
下面將要討論的兩個重要的流是 FileInputStream 和 FileOutputStream:

  • FileInputStream

該流用于從文件讀取數(shù)據(jù),它的對象可以用關鍵字 new 來創(chuàng)建。
有多種構(gòu)造方法可用來創(chuàng)建對象。
可以使用字符串類型的文件名來創(chuàng)建一個輸入流對象來讀取文件:

InputStream f = new FileInputStream("C:/java/hello");

也可以使用一個文件對象來創(chuàng)建一個輸入流對象來讀取文件。我們首先得使用 File() 方法來創(chuàng)建一個文件對象:

File f = new File("C:/java/hello"); InputStream out = new FileInputStream(f);
  • FileOutputStream

該類用來創(chuàng)建一個文件并向文件中寫數(shù)據(jù)。
如果該流在打開文件進行輸出前,目標文件不存在,那么該流會創(chuàng)建該文件
有兩個構(gòu)造方法可以用來創(chuàng)建 FileOutputStream 對象。
使用字符串類型的文件名來創(chuàng)建一個輸出流對象:

OutputStream f = new FileOutputStream("C:/java/hello")

也可以使用一個文件對象來創(chuàng)建一個輸出流來寫文件。我們首先得使用File()方法來創(chuàng)建一個文件對象:

File f = new File("C:/java/hello"); OutputStream f = new FileOutputStream(f); //文件名 :fileStreamTest2.java import java.io.*;public class fileStreamTest2{public static void main(String[] args) throws IOException {File f = new File("a.txt");FileOutputStream fop = new FileOutputStream(f);// 構(gòu)建FileOutputStream對象,文件不存在會自動新建OutputStreamWriter writer = new OutputStreamWriter(fop, "UTF-8");// 構(gòu)建OutputStreamWriter對象,參數(shù)可以指定編碼,默認為操作系統(tǒng)默認編碼,windows上是gbkwriter.append("中文輸入");// 寫入到緩沖區(qū)writer.append("\r\n");//換行writer.append("English");// 刷新緩存沖,寫入到文件,如果下面已經(jīng)沒有寫入的內(nèi)容了,直接close也會寫入writer.close();//關閉寫入流,同時會把緩沖區(qū)內(nèi)容寫入文件,所以上面的注釋掉fop.close();// 關閉輸出流,釋放系統(tǒng)資源FileInputStream fip = new FileInputStream(f);// 構(gòu)建FileInputStream對象InputStreamReader reader = new InputStreamReader(fip, "UTF-8");// 構(gòu)建InputStreamReader對象,編碼與寫入相同StringBuffer sb = new StringBuffer();while (reader.ready()) {sb.append((char) reader.read());// 轉(zhuǎn)成char加到StringBuffer對象中}System.out.println(sb.toString());reader.close();// 關閉讀取流fip.close();// 關閉輸入流,釋放系統(tǒng)資源} }

7.4 Java中的目錄

(1)創(chuàng)建目錄:
File類中有兩個方法可以用來創(chuàng)建文件夾:

  • mkdir( )方法創(chuàng)建一個文件夾,成功則返回true,失敗則返回false。失敗表明File對象指定的路徑已經(jīng)存在,或者由于整個路徑還不存在,該文件夾不能被創(chuàng)建。
  • mkdirs()方法創(chuàng)建一個文件夾和它的所有父文件夾。
    注意: Java 在 UNIX 和 Windows 自動按約定分辨文件路徑分隔符。如果你在 Windows 版本的 Java 中使用分隔符 (/) ,路徑依然能夠被正確解析。

(2)讀取目錄
一個目錄其實就是一個 File 對象,它包含其他文件和文件夾。
如果創(chuàng)建一個 File 對象并且它是一個目錄,那么調(diào)用 isDirectory() 方法會返回 true。
可以通過調(diào)用該對象上的 list() 方法,來提取它包含的文件和文件夾的列表。

摘自:http://www.runoob.com/java/java-methods.html
http://www.runoob.com/java/java-files-io.html

總結(jié)

以上是生活随笔為你收集整理的Java 方法、 流(Stream)、文件(File)和IO 总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。