2015-10-12 5 views
1

Мне нужна ваша помощь в сохранении извлеченных значений из базы данных в текстовый файл (Sample.txt). Каждая выбранная строка должна храниться в текстовом файле и разделяться разрывом строки. После каждого полученного столбца он должен быть отделен линией «|», поэтому мне нужна ваша помощь. Вот код:Как сохранить извлеченные значения из базы данных в текстовый файл

public void GenerateTXT() { 
    Connection conn = null; 
    Statement stmt = null; 
    try{ 
     Class.forName("com.mysql.jdbc.Driver"); 
     conn = DriverManager.getConnection(DB_URL, USER, PASS); 
     stmt = conn.createStatement(); 

     String sql = "SELECT id, name, amount FROM Employee"; 
     ResultSet rs = stmt.executeQuery(sql); 
     while(rs.next()){ 
     int id = rs.getInt("id"); 
     int age = rs.getString("name"); 
     String first = rs.getInt("amount"); 
      } 
     rs.close(); 
    }catch(SQLException se){ 
     se.printStackTrace(); 
    }catch(Exception e){ 
     e.printStackTrace(); 
    }finally{ 
     try{ 
     if(stmt!=null) 
      conn.close(); 
     }catch(SQLException se){ 
     } 
     try{ 
     if(conn!=null) 
      conn.close(); 
     }catch(SQLException se){ 
     se.printStackTrace(); 
     } 
    } 
} 
} 
+0

Вы спрашиваете, как распечатать результаты в файл или как исправить запрос к базе данных? Если это последний, он выглядит мне на пользу; если это первый, то этот вопрос, вероятно, является дубликатом. –

ответ

0

Вы можете использовать приведенный ниже код.

public void GenerateTXT() { 
    Connection conn = null; 
    Statement stmt = null; 
    try{ 
     Class.forName("com.mysql.jdbc.Driver"); 
     conn = DriverManager.getConnection(DB_URL, USER, PASS); 
     stmt = conn.createStatement(); 

     File file = new File("/path/to/file/filename.txt"); 

     // if file doesnt exists, then create it 
     if (!file.exists()) { 
      file.createNewFile(); 
     } 

     FileWriter fw = new FileWriter(file.getAbsoluteFile()); 
     BufferedWriter bw = new BufferedWriter(fw); 

     String sql = "SELECT id, name, amount FROM Employee"; 
     ResultSet rs = stmt.executeQuery(sql); 

     while(rs.next()){ 
     int id = rs.getInt("id"); 
     int age = rs.getString("name"); 
     String first = rs.getInt("amount"); 
     bw.append(id+"|"+age+"|"+first+"\n"); 
      } 
     rs.close(); 
     bw.close(); 
    }catch(SQLException se){ 
     se.printStackTrace(); 
    }catch(Exception e){ 
     e.printStackTrace(); 
    }finally{ 
     try{ 
     if(stmt!=null) 
      conn.close(); 
     }catch(SQLException se){ 
     } 
     try{ 
     if(conn!=null) 
      conn.close(); 
     }catch(SQLException se){ 
     se.printStackTrace(); 
     } 
    } 
} 
} 
+0

Спасибо .. он решил вопрос – 99maas

+0

Рад, что я мог помочь! :) –

Смежные вопросы