如果是sql server则就一个导入导出向导,里面一直下一步就行,有个地方选择分割符的

解决方案 »

  1.   

    先从数据库里面读出所有字符串,然后用\t和\n连接成一个完整的字符串,这样就能保持这种格式了!
    然后根据用户指定的路径使用FileOutputStream()来把这个字符串写进去
    当然实际上写的时候只要
    String str=...//刚才准备好的字符串
    new BufferedOutputStream(new FileOutputStream("xxx.txt")).writeLine(str);
      

  2.   

    String str=...//刚才准备好的字符串
    new BufferedOutputStream(new FileOutputStream("xxx.txt")).writeLine(str);
      

  3.   

    这个简单啊!
    有FileChooseDialog,他可以弹出来给我们学的啊
    得到的返回值就是路径
      

  4.   

    那怎么给用户自己选择保存的路径呢?是选择还是输入保存路径?如果只是输入路径可以这样
    system.out.pringln("输入保存路径")
    BufferedReader in = new BufferedReader();
    str = in.readLine();
    str就是他要保存的路径,然后 跳转到 jFresH_MaN(TM) 兄的步骤(str+"xxx.txt")
      

  5.   

    从方便用户的角度应该是用选择保持路径,用jFresH_MaN(TM)的所说的方法就可以了
      

  6.   

    package sql;import java.io.File;
    import java.io.FileOutputStream;
    import java.sql.*;
    import java.awt.*;class SqlServer{
    String path;
    Frame f = new Frame("Save");
    SqlServer(){
    FileDialog file = new FileDialog(f,"new",1);
    file.setVisible(true);
    path = file.getDirectory() + file.getFile();
    }
    public static void main(String args[]){
    SqlServer demo = new SqlServer();
    Connection conn = null;
    Statement state = null;
    ResultSet rs = null; String  url= "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=myDataBase";
    String user = "sa";
    String psd = "sa";
    String str = "select * from myTable"; try{
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
    conn = DriverManager.getConnection(url,user,psd);
    CallableStatement cs=conn.prepareCall(str); cs.executeQuery();
    rs=cs.getResultSet();

    byte[] b = null;
    FileOutputStream fout = new FileOutputStream(new File(demo.path));
    ResultSetMetaData meta = rs.getMetaData();
    for(int i=1; i<meta.getColumnCount();i++){
    b = (meta.getColumnName(i) + "\t").getBytes();
    fout.write(b);
    }
    while(rs.next()){
    fout.write("\r\n".getBytes());
    for(int i=1; i<meta.getColumnCount();i++){
    b = (rs.getString(i) + "\t").getBytes();
    fout.write(b);
    }
    }

    fout.close();
    }catch(Exception e){
    System.out.println(e);
    }
    }
    }