java 如何存储数据
存储数据到文件
使用 FileOutputStream 和 FileInputStream 实现二进制文件的读写。
// 写入数据
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 接口,通过 ObjectOutputStream 和 ObjectInputStream 存储和读取对象。

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)存储数据。

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();






