Pessoal
Quero pegar um resultset, e para cada registro, criar um arquivo
minha dificuldade esta sendo atribuir a string caminho o seguinte valor:
diretorio selecionado no componente jfilechooser + campo codigo do resultset formatado com 8 digitos + .txt
publicvoidgerarArquivos(){Conexaoconn=newConexao();try{rs=conn.obterRs("select * from Produtos order by Codigo");while(rs.next()){Stringcaminho=null;FilearquivoTxt=newFile(caminho);}}catch(SQLExceptionex){Logger.getLogger(Exportacao.class.getName()).log(Level.SEVERE,null,ex);}}
publicvoidgerarArquivos()throwsIOException{Conexaoconn=newConexao();try{rs=conn.obterRs("select * from Produtos order by Codigo");while(rs.next()){Stringcaminho=jflCaminho.getName(jflCaminho.getSelectedFile());//aqui esta dando errocaminho.concat("\"); caminho.concat(rs.getString("Codigo")); //eu gostaria de formatar esse campo assim (0000000) caminho.concat(".txt"); System.out.println(caminho); try { FileWriter arquivoTxt = new FileWriter(caminho); arquivoTxt.append(rs.getString("Codigo")); arquivoTxt.close(); } catch (IOException ex) { Logger.getLogger(Exportacao.class.getName()).log(Level.SEVERE, null, ex); } } } catch (SQLException ex) { Logger.getLogger(Exportacao.class.getName()).log(Level.SEVERE, null, ex); } }
M
marcobiscaro2112
O diretório selecionado pelo JFileChooser pode ser retornado pelo método getSelectedFile() e o caminho completo pode ser resgatado pelo método getAbsolutePath(). Algo como:
Dê um System.out.println na variável caminho. Talvez falte uma barra.
marceloamigo
Ficou assim
só vou ter que fazer um tratamento para quando o usuário escolher a raiz, pois fica duas contra-barras no caminho e da erro(explo c:\00000001.txt)
ResultSetrs=conn.obterRs("select * from Produtos order by Codigo");while(rs.next()){Stringcaminho=jflCaminho.getSelectedFile().getAbsolutePath()+"\" + String.format("%1$08d", Integer.parseInt(rs.getString("codigo"))) + ".txt"; try { FileWriter arquivoTxt = new FileWriter(caminho); arquivoTxt.append(String.format("%1$08d", Integer.parseInt(rs.getString("codigo")))); //aqui vai o restante dos campos arquivoTxt.close(); } catch (IOException ex) { Logger.getLogger(Exportacao.class.getName()).log(Level.SEVERE, null, ex); } }