其实很简单,先用jdbc连接数据库进行查询,然后用List之类的集合存结果,然后把结果用文件输出流写到文件中,样例代码如下:
String sql = "select * from db_table"; // 查询sql
List<Object> retList = new ArrayList<Object>();
//插入到数据库中
String url = "jdbc:mysql://ip:3306/dbscheme?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=UTF8"; // 连接数据库url,ip和dbscheme换成自己的
try {
Class.forName("com.mysql.jdbc.Driver"); // mysql的格式,其他的相应替换
Connection conn = DriverManager.getConnection(url,"user","pwd"); // 用户名和密码换成自己的
Statement statement = conn.createStatement();
ResultSet rs = statement.executeQuery(sql);
while(rs.next())
{
String value = rs.getString("columnName"); // 获取的表字段换成自己需要的
retList.add(value);
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
java.io.File file = new java.io.File("d:\\filePath"); //自定义文件路径
java.io.OutputStreamWriter write;
try {
write = new java.io.OutputStreamWriter(new java.io.FileOutputStream(file), "UTF-8");
java.io.BufferedWriter writer = new java.io.BufferedWriter(write);
for(Object obj :retList)
{
writer.write(obj.toString()); // 输出流写入到文件中
}
writer.close();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}