Java では、データの読み取り方法はデータ ソースと形式によって異なります。一般的な方法には次のようなものがあります。 - **コンソールからのデータの読み取り:** Scanner クラスを使用して、ユーザーが入力したデータを読み取ります。 - **ファイルからのデータの読み取り:** テキスト ファイルを読み取るには、BufferedReader クラスと FileReader クラスを使用します。バイナリ ファイルの場合は、Files クラスと Paths クラス (Java 8 以降) を使用できます。 - **データベースからデータを読み取ります: **JDBC (Java Database Connectivity) を使用してリレーショナル データベースに接続し、クエリを実行します。 - **他のソースからデータを読み取る:** さまざまなサードパーティのライブラリや API を使用して、ネットワーク、JSON ファイル、またはその他のデータ ソースからデータを読み取ることもできます。
Java でデータを読み取る方法は、データのソースと形式によって異なります。さまざまな種類のデータを読み取るための一般的な方法をいくつか示します:
1. コンソールからデータを読み取ります:
Java を使用します。 Scanner クラスは、ユーザーが入力したデータをコンソールから読み取ることができます。
java
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入一个整数:"); int number = scanner.nextInt(); // 读取一个整数 System.out.println("你输入的整数是:" + number); System.out.println("请输入一个字符串:"); String text = scanner.nextLine(); // 读取一行文本 System.out.println("你输入的字符串是:" + text); scanner.close(); // 关闭Scanner对象 } }
2. ファイルからデータを読み取ります:
ファイルからデータを読み取るには、java.io または java.nio.file パッケージのクラスを使用します。
java.io.BufferedReader と java.io.FileReader の使用:
java
import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public class Main { public static void main(String[] args) { BufferedReader reader = null; try { reader = new BufferedReader(new FileReader("path_to_your_file.txt")); String line; while ((line = reader.readLine()) != null) { System.out.println(line); // 读取并打印文件的每一行 } } catch (IOException e) { e.printStackTrace(); } finally { if (reader != null) { try { reader.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
3. java.nio.file.Files および java.nio.file.Paths を使用します (Java 8 以降):
java
import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; import java.util.List; public class Main { public static void main(String[] args) { try { List<String> lines = Files.readAllLines(Paths.get("path_to_your_file.txt")); for (String line : lines) { System.out.println(line); // 读取并打印文件的每一行 } } catch (IOException e) { e.printStackTrace(); } } }
4. データベースからデータを読み取ります:
JDBC (Java データベース接続) を使用します。リレーショナル データベースからデータを読み取ります。
java
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class Main { public static void main(String[] args) { String url = "jdbc:mysql://localhost:3306/your_database"; String user = "your_username"; String password = "your_password"; try (Connection conn = DriverManager.getConnection(url, user, password); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM your_table")) { while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); // ... 读取其他字段 System.out.println("ID: " + id + ", Name: " + name); } } catch (Exception e) { e.printStackTrace(); } } }
データを読み取る前に、次のことを行う必要があることに注意してください。ターゲット データ ソース (ファイル、データベース、コンソールなど) にアクセス可能であり、必要なデータを正しく解析して抽出する方法を知っていることを確認します。さらに、プログラムの堅牢性を確保するには、IOException や SQLException などの発生する可能性のある例外を処理する必要があります。
上記の例では、try-with-resources ステートメントを使用してリソース (Connection、Statement、BufferedReader など) を自動的に閉じました。これは、Java 7 以降のプラクティスで推奨されています。リソースが不要になったときに、リソースが正しく解放されるようにします。以前のバージョンの Java を使用している場合は、finally ブロックでこれらのリソースを明示的に閉じる必要があります。
以上がJavaでデータを読み取る方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。