JavaRush /Java 博客 /Random-ZH /喝咖啡休息#135。在 Java 中将文件转换为字符串的 5 种方法。如何更改 Java 中的命令行参数

喝咖啡休息#135。在 Java 中将文件转换为字符串的 5 种方法。如何更改 Java 中的命令行参数

已在 Random-ZH 群组中发布

在 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