Java でファイルを文字列に変換する 5 つの方法
出典: Medium 今日は、Java でファイルを読み取ったり、文字列に変換したりするための 5 つの簡単で実証済みの方法について説明します。最適な方法の選択は、特定のプロジェクトの構成によって異なります。まず、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 からのリンクを使用して見つけることができます。ユーティリティ メソッドを使用せずに 実際のInputStreamを試したい場合は、このメソッドを使用してください。
Javaでコマンドライン引数を変更する方法
出典: DZone この記事では、Java でコマンドライン引数を変更する方法、それらがどのように渡され、どのように機能するかを学びます。コードにエラーがなく、すべてのリクエストを処理できることをどのように確認しますか? 最も簡単な方法は、考えられるすべての範囲のテスト ケースでテストすることです。ただし、これらすべてのテストを受けるのは非常に時間がかかり、労力がかかる場合があります。これを手間をかけずに簡単に実行でき、できれば自動化できる他の方法が必要です。Java コマンドライン引数は、私たちの問題に対する 1 つの解決策です。これらにより、テストとデバッグのプロセスが大幅に簡素化されます。// 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 でコマンド ライン引数を渡す方法を示します。-
Java プログラムを.java拡張子(たとえば、Arguments.java ) で保存します。
-
プログラムがローカルに保存されているディレクトリでターミナル/コマンド プロンプトを開きます。
-
Java プログラムをコンパイルして、.javaファイルを.classファイルに変換します。
- コマンド: javac filename.java (この例では: javac Arguments.java )
-
プログラムを実行し、ファイル名をスペースで区切って引数を渡します。
- コマンド: java filename argument1 argument2 .... argumentN (この例では、Java 引数:このブログへようこそ、および Happy Learning )
コマンドライン引数にアクセスするにはどうすればよいですか?
次に、Java で渡されたすべてのコマンドライン引数にアクセスしてみましょう。どうやってするの?引数はargs[]配列に格納されるため、 0からn (渡される引数の総数) の 範囲のインデックスを指定するargs[i]を使用して、引数に簡単にアクセスできることを意味します。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 引数 0: ようこそ引数 1: へ引数 2: この引数 3: ブログ引数 4: および引数 5: ハッピー引数 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 引数 0: ようこそ 引数 1: 変更されたコマンド ライン引数 1 引数 2: この引数 3: 変更されたコマンド ライン引数 2 引数 4: および引数 5: 変更されたコマンド ライン引数 3 引数 6: 学習
結論
-
Java コマンド ライン引数は、コマンド ラインを通じてプログラムにデータを入力する方法です。
-
コマンドライン引数は run コマンドの実行時に渡され、引数はファイル名の直後にスペースで区切られて渡されます。
-
コマンドライン引数は文字列配列args[]に書き込まれます。
-
args[i]演算子と代入演算子を使用して、コマンド ライン引数にアクセスしたり変更したりできます。
GO TO FULL VERSION