java,以及会oracle的程序员看过来,怎样把数据库表的记录写进txt文件?

假如我有一个表,名字叫person_5,我要怎样读取这个数据库表里面的记录,并且将记录写入txt文件里面?

其实很简单,先用jdbc连接数据库进行查询,然后用List之类的集合存结果,然后把结果用文件输出流写到文件中,样例代码如下:


  

String sql = "select * from db_table";  //  查询sql
  List<Object> retList = new ArrayList<Object>();
  //插入到数据库中
  String url = "jdbc:mysql://ip:3306/dbscheme?zeroDateTimeBehavior=convertToNull&amp;useUnicode=true&amp;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();
  }

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-27
用file的输入输出流写不就完事了,在java里编写程序连接数据库把数据库想要的数据select出来然后用String类型接收比如定义一个String data=“数据库的信息”。在创建file对象,File file = new File('D://DATA.txt')FileoutpuStream ss =new FileoutpuStream(file); ss.write(data.getBytes());就OK 了
第2个回答  2013-12-27
通过一个集合放到集合里面,然后通过流 写入text
第3个回答  2013-12-27
导出来就行了追问

mysql="SELECT *INTO outfile ’E/result.txt’FROM person_5";
这样写为何错了?

相似回答