JavaRush /Java Blog /Random-TW /喝咖啡休息#135。在 Java 中將檔案轉換為字串的 5 種方法。如何更改 Java 中的命令列參數

喝咖啡休息#135。在 Java 中將檔案轉換為字串的 5 種方法。如何更改 Java 中的命令列參數

在 Random-TW 群組發布

在 Java 中將檔案轉換為字串的 5 種方法

來源:Medium 喝咖啡休息#135。 在 Java 中將檔案轉換為字串的 5 種方法。 如何更改 Java 中的命令列參數 - 1今天我們將討論 5 種簡單且行之有效的方法,用於在 Java 中讀取檔案或將檔案轉換為字串。選擇最適合您的方法取決於特定項目的配置。首先,我們假設inputStream是一個 InputStream 類型的變數。
InputStream inputStream;
現在讓我們來看看不同的轉換方法。

1.使用內建的Java 1.11+文件包:

import java.nio.file.Files;
import java.nio.file.Path;
String result = Files.readString(Path.of("filePath"));

//Bonus: To Write string to a file you can use
String content = "Demo Content";
Files.writeString(filePath, content);
此方法適用於 Java 1.11+。

2. 使用內建的 Streams Java 1.8+ 套件:

String result =  new  String( Files.readAllBytes ( Paths.get ( filePath )),          StandardCharsets.UTF_8 ) ;
此方法適用於 Java 1.8+。

3.自己的Java掃描器:

try (Scanner scanner = new Scanner(Paths.get(fileName), StandardCharsets.UTF_8.name())) {
    String result = scanner.useDelimiter("\\A").next();
}
請注意,\A代表掃描器useDelimiter方法的正規表示式模式。 \A 的意思是:: 字串的開始!(行首!)。因此,當應用此模式時,整個流就可以在掃描器物件中使用。

4. Apache commons-io IOUtils方法:

File file = new File("data.txt");
String result = FileUtils.readFileToString(file, StandardCharsets.UTF_8);
此方法需要在您的專案中安裝 Apache commons-io 庫。您可以在maven 的連結中找到它。

5.使用Google Guava庫:

String result = Files.toString(new File(path), Charsets.UTF_8);
使用此方法假設您的專案已經具有 Guava 庫。您可以使用maven 中的連結找到它。如果您想在沒有任何實用方法的情況下試驗真實的InputStreams,請使用此方法。

如何更改 Java 中的命令列參數

來源:DZone 在本文中,您將了解如何更改 Java 中的命令列參數、它們如何傳遞以及它們如何運作。如何檢查您的程式碼是否沒有錯誤並處理所有請求?最簡單的方法是在所有可能的測試案例範圍上進行測試。然而,參加所有這些測試可能會花費相當長的時間並且耗費大量人力。我們需要一些其他方法可以輕鬆完成此操作,沒有太多麻煩,最好是自動化的。Java 命令列參數是我們問題的解決方案。它們顯著簡化了測試和調試過程。
// here args will hold the command line arguments
    public static void main(String[] args) {
        System.out.println("Hello World!");
        // remaining code will go here
    }

什麼是命令列參數?

Java 命令列參數是透過命令列將資料輸入程式的方法。程式設計師可以直接從控制台傳遞這些參數,該控制台將透過main()方法存取。如有必要,可以透過將值直接傳遞給main()方法來忽略命令列參數。

命令列參數如何運作?

命令列參數被包裝並傳遞到args[]。這是一個字串數組,包含傳遞給它的所有命令列參數。每個參數將按索引存儲,從args[0]args[n]

命令列參數是如何傳遞的?

命令列參數透過命令列或終端傳遞。通過它們傳遞的所有參數都將被轉換並包含在JVM 內的args[]數組中。現在讓我們透過範例來了解如何傳遞命令列參數。假設我們有一個包含一些 Java 程式碼的檔案。以下步驟將示範如何在 Java 中傳遞命令列參數:
  1. 使用.java副檔名儲存 Java 程式(例如Arguments.java)。

  2. 在本機儲存程式的目錄中開啟終端機/命令提示字元。

  3. 編譯 Java 程式以將.java檔轉換為.class檔。

    • 指令:javac filename.java(在我們的範例中:javac Arguments.java
  4. 運行程式並在檔案名稱以空格分隔後傳遞參數。

    • 指令:java filename argument1 argument2 .... argumentN(在我們的範例中,Java 參數:歡迎來到本博客,快樂學習

如何存取命令列參數?

現在讓我們嘗試存取 Java 中傳遞的所有命令列參數。怎麼做?由於參數儲存在args[]陣列中,這意味著我們可以使用args[i]輕鬆存取它們,它指定一個範圍從0n(傳遞的參數總數)的索引。
class Arguments {
    public static void main( String[] args ) {
        System.out.println(" Hello World! ");
        // args.length is used to get length of args array

        System.out.println(" Total number of args: " + args.length);
        // iterating over the args array to print the args if available

        for (int i = 0; i < args.length; i++) {
            System.out.println(" Arg " + i + ": " + args[i]);
        }
    }
}
結論:
你好世界!參數總數:7 Arg 0:歡迎 Arg 1:到 Arg 2:此 Arg 3:博客 Arg 4:和 Arg 5:快樂 Arg 6:學習

如何更改命令列參數?

這裡我們可以使用args[i]來取得第i個索引處的值,然後使用賦值運算子(=)。因此我們可以更改第 i 個索引處的命令列參數。下面的程式碼片段將會更改透過 Java 命令列傳遞的一些參數。
args[1] = " Modified Command Line Argument 1 ";
args[3] = " Modified Command Line Argument 2 ";
args[5] = " Modified Command Line Argument 3 ";
更改後的輸出:
你好世界!參數總數:7 個Arg 0:歡迎Arg 1:修改後的命令列參數1 Arg 2:此Arg 3:修改後的命令列參數2 Arg 4:和Arg 5:修改後的命令列參數3 Arg 6:學習

結論

  • Java 命令列參數是透過命令列將資料輸入程式的一種方式。

  • 執行run指令時傳遞命令列參數,參數緊接在檔案名稱之後傳遞,以空格分隔。

  • 命令列參數寫入字串數組args[]

  • 我們可以使用args[i]運算子和賦值運算子來存取或更改命令列參數。

留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION