当前位置:首页 > Java

java 如何存储数据

2026-03-24 21:08:02Java

存储数据到文件

使用 FileOutputStreamFileInputStream 实现二进制文件的读写。

// 写入数据
try (FileOutputStream fos = new FileOutputStream("data.bin")) {
    fos.write("Hello, World!".getBytes());
}

// 读取数据
try (FileInputStream fis = new FileInputStream("data.bin")) {
    byte[] buffer = new byte[1024];
    int bytesRead = fis.read(buffer);
    System.out.println(new String(buffer, 0, bytesRead));
}

使用序列化存储对象

实现 Serializable 接口,通过 ObjectOutputStreamObjectInputStream 存储和读取对象。

java 如何存储数据

class Person implements Serializable {
    String name;
    int age;
}

// 序列化对象
try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("person.ser"))) {
    oos.writeObject(new Person("Alice", 30));
}

// 反序列化对象
try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream("person.ser"))) {
    Person person = (Person) ois.readObject();
    System.out.println(person.name);
}

数据库存储(JDBC)

通过 JDBC 连接数据库(如 MySQL)存储数据。

java 如何存储数据

String url = "jdbc:mysql://localhost:3306/mydb";
String user = "root";
String password = "password";

try (Connection conn = DriverManager.getConnection(url, user, password)) {
    // 插入数据
    String sql = "INSERT INTO users (name, age) VALUES (?, ?)";
    try (PreparedStatement pstmt = conn.prepareStatement(sql)) {
        pstmt.setString(1, "Bob");
        pstmt.setInt(2, 25);
        pstmt.executeUpdate();
    }

    // 查询数据
    sql = "SELECT * FROM users";
    try (Statement stmt = conn.createStatement();
         ResultSet rs = stmt.executeQuery(sql)) {
        while (rs.next()) {
            System.out.println(rs.getString("name"));
        }
    }
}

使用 NoSQL 数据库

通过 MongoDB 的 Java 驱动存储数据。

MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017");
MongoDatabase database = mongoClient.getDatabase("test");
MongoCollection<Document> collection = database.getCollection("users");

// 插入文档
Document doc = new Document("name", "Charlie").append("age", 28);
collection.insertOne(doc);

// 查询文档
Document query = new Document("name", "Charlie");
FindIterable<Document> result = collection.find(query);
for (Document d : result) {
    System.out.println(d.toJson());
}

使用缓存(Redis)

通过 Jedis 客户端连接 Redis 存储键值对。

Jedis jedis = new Jedis("localhost");
jedis.set("key", "value");
String value = jedis.get("key");
System.out.println(value);
jedis.close();

标签: 数据java
分享给朋友:

相关文章

vue数据劫持实现

vue数据劫持实现

Vue 数据劫持实现原理 Vue 的数据劫持主要通过 Object.defineProperty 或 Proxy 实现,用于监听对象属性的变化并触发更新。以下是核心实现方式: 基于 Object.d…

java如何输入数组

java如何输入数组

输入数组的方法 在Java中,可以通过多种方式输入数组,具体取决于输入源(如控制台、文件等)和数组类型(如基本类型或对象类型)。以下是几种常见的方法: 使用Scanner从控制台输入 对于基本数据类…

java如何打印数组

java如何打印数组

打印数组的方法 在Java中,打印数组有多种方式,以下是几种常见的方法: 使用Arrays.toString()方法 这种方法适用于一维数组,可以快速将数组转换为字符串形式输出: int[] a…

如何选择java培训

如何选择java培训

评估培训机构资质 选择有正规资质的机构,查看其营业执照、办学许可证等。优先考虑具备人力资源和社会保障部或教育部认证的机构,这类机构的教学质量和课程设置通常更规范。 考察课程内容与行业需求匹配度…

vue实现数据修改

vue实现数据修改

Vue 数据修改方法 在 Vue 中修改数据通常通过以下几种方式实现,具体取决于数据的状态(如本地数据、Vuex 状态管理或组件间通信)。 修改本地组件数据 直接修改组件内的 data 属性。Vue…

java面试官如何面试别人

java面试官如何面试别人

考察基础知识 从Java核心概念入手,包括面向对象特性(封装、继承、多态)、集合框架(ArrayList vs LinkedList、HashMap实现原理)、异常处理机制、多线程(线程池、锁机制)等…