Pessoal, fiz um programinha que gera um arquivo em formato TXT. Mas gostaria de saber como faço para gerar um arquivo com os registros de uma tabela de um banco.
Taí o meu código:
package Servico;
import java.io.*;
import java.text.SimpleDateFormat;
import java.util.Date;
public class GeraArquivo{
public static void main(String[] args) {
String nome = "Arquivo_";
String dados = "testando o arquivo";
try{
//tratamento da data e hora
Date hoje = new Date();
String formato = "yyyyMMdd_HHmmss";
SimpleDateFormat formatter = new SimpleDateFormat(formato);
String hj = formatter.format(hoje);
//tratamento do arquivo
FileOutputStream out = new FileOutputStream(nome+ hj +".TXT");
BufferedOutputStream buf = new BufferedOutputStream(out);
DataOutputStream data = new DataOutputStream(buf);
data.writeChars(dados);
data.flush();
data.close();
buf.close();
out.close();
System.out.println("Arquivo TXT criado com sucesso");
}
catch(Exception e)
{
System.out.println(e);
}
}
}
obs.: Eu já criei uma classe que faz a conexão com o Banco, o nome da classe é “Conexao” e esta classe está no pacote “Servico”, localizado no código acima!
Creio que você terá que fazer uma classe DAO (Data Access Object) para
retornar os resultados da sua consulta no banco, e depois jogar dentro da sua classe, mais especificamente na variável “dados”, pelo que pude constatar pelo seu código.
Para isso, você terá que saber algumas informações com o DBA do seu banco de dados, como username, password, nome exato da tabela, etc, e utilizar um código parecido com o abaixo:
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/BANCO_DE_DADOS?user=root&password=root");
Statement stm = conn.createStatement();
ResultSet rs = stm.executeQuery("SELECT coluna1, coluna2, coluna3 FROM tabela");
while (rs.next()) {
String coluna1 = rs.getString("coluna1");
int coluna2 = rs.getInt("coluna2");
Date coluna3 = rs.getDate("coluna3");
}
Tem um artigo que explica como usar JDBC no site, você já deu uma olhada?
Valeu Roger75 pela dica! Me ajudou bastante ! 
skynewgp tava fazendo a mesma geração do arquivo e ele gera o TXT blz, mas dentro do arquivo criado o contetudo fica assim " t e s t a n d o o a r q u i v o" bem com um espaço…como faço pra ficar sem esses espaços :?:
valeu! 8)
[quote=skynewgp]Pessoal, fiz um programinha que gera um arquivo em formato TXT. Mas gostaria de saber como faço para gerar um arquivo com os registros de uma tabela de um banco.
Taí o meu código:
package Servico;
import java.io.*;
import java.text.SimpleDateFormat;
import java.util.Date;
public class GeraArquivo{
public static void main(String[] args) {
String nome = "Arquivo_";
String dados = "testando o arquivo";
try{
//tratamento da data e hora
Date hoje = new Date();
String formato = "yyyyMMdd_HHmmss";
SimpleDateFormat formatter = new SimpleDateFormat(formato);
String hj = formatter.format(hoje);
//tratamento do arquivo
FileOutputStream out = new FileOutputStream(nome+ hj +".TXT");
BufferedOutputStream buf = new BufferedOutputStream(out);
DataOutputStream data = new DataOutputStream(buf);
data.writeChars(dados);
data.flush();
data.close();
buf.close();
out.close();
System.out.println("Arquivo TXT criado com sucesso");
}
catch(Exception e)
{
System.out.println(e);
}
}
}
obs.: Eu já criei uma classe que faz a conexão com o Banco, o nome da classe é “Conexao” e esta classe está no pacote “Servico”, localizado no código acima![/quote]