Java 利用jdbc从数据库查到的信息使用文件字节输出流写入txt 文件中,路径设置为d盘下的txt 文件,名字为1.txt,txt文件里内容格式为每条数据一行,每个字段用-分隔开
时间: 2024-03-02 15:52:08 浏览: 139
好的,以下是一个基本的实现过程,你可以根据自己的需求进行修改:
```java
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.sql.*;
public class DBtoTXT {
public static void main(String[] args) {
String driver = "com.mysql.jdbc.Driver"; // 数据库驱动
String url = "jdbc:mysql://localhost:3306/test"; // 数据库URL
String user = "root"; // 数据库用户名
String password = "123456"; // 数据库密码
String tableName = "mytable"; // 需要查询的数据表名
String fileName = "D:\\1.txt"; // txt文件路径和名称
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
// 加载数据库驱动
Class.forName(driver);
// 获取数据库连接
conn = DriverManager.getConnection(url, user, password);
// 创建Statement对象
stmt = conn.createStatement();
// 执行查询语句
rs = stmt.executeQuery("SELECT * FROM " + tableName);
// 创建FileOutputStream对象
FileOutputStream fos = new FileOutputStream(fileName);
// 创建OutputStreamWriter对象
OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");
// 循环遍历ResultSet,将数据写入txt文件中
while (rs.next()) {
String line = rs.getString("field1") + "-" + rs.getString("field2") + "-" + rs.getString("field3") + "\n";
osw.write(line);
}
// 关闭流
osw.close();
fos.close();
rs.close();
stmt.close();
conn.close();
System.out.println("数据已成功写入txt文件!");
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
以上代码中的 `driver`、`url`、`user`、`password`、`tableName` 和 `fileName` 变量需要根据实际情况进行修改。在这个例子中,我们使用了 MySQL 数据库,需要将 `driver` 的值设置为 `com.mysql.jdbc.Driver`,`url` 的值设置为 `jdbc:mysql://localhost:3306/test`,`user` 的值设置为你的数据库用户名,`password` 的值设置为你的数据库密码,`tableName` 的值设置为你需要查询的数据表名,`fileName` 的值设置为你的txt文件路径和名称。
在代码中,我们首先加载数据库驱动,获取数据库连接,创建 Statement 对象,执行查询语句,然后循环遍历 ResultSet,将数据写入txt文件中,最后关闭流和数据库连接。
阅读全文