Java 如何将从数据库获取的值存储到文本文件中

Java 如何将从数据库获取的值存储到文本文件中,java,file,text,file-io,text-files,Java,File,Text,File Io,Text Files,我需要您的帮助,将从数据库获取的值存储到文本文件(Sample.txt)中。提取的每一行都应存储在文本文件中,并用换行符分隔。在每个检索到的列之后,都应该用一行“|”分隔,所以我需要您的帮助。代码如下: public void GenerateTXT() { Connection conn = null; Statement stmt = null; try{ Class.forName("com.mysql.jdbc.Driver"); conn =

我需要您的帮助,将从数据库获取的值存储到文本文件(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();
      }
   }
}
}

您可以使用下面的代码

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(); 
      } 
   } 
} 
} 

您可以使用下面的代码

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(); 
      } 
   } 
} 
} 

您是在询问如何将结果打印到文件,还是如何更正数据库查询?如果是后者,在我看来,它是可以找到的;如果是前者,那么这个问题可能是重复的。您是在问如何将结果打印到文件,还是如何更正数据库查询?如果是后者,在我看来,它是可以找到的;如果是前者,那么这个问题可能是重复的。很高兴我能帮忙!:)很高兴我能帮忙!:)