Como faço para ler um arquivo txt, e popular na Jtable no netbeans listando em cada coluna?
// Listando na jtable
private void exibeDicionario(){
ArrayList<Dicionario> meudicionario = cd.retornarTodos();
for (int i = 0; i < 10; i++){
tblDicionario.setValueAt("", i, 0);
tblDicionario.setValueAt("", i, 1);
tblDicionario.setValueAt("", i, 2);
tblDicionario.setValueAt("", i, 3);
}
for (int i = 0; i < meudicionario.size() && meudicionario.get(i) != null; i++){
tblDicionario.setValueAt(meudicionario.get(i).getNumTermo(), i, 0);
tblDicionario.setValueAt(meudicionario.get(i).getTermo(), i, 1);
tblDicionario.setValueAt(meudicionario.get(i).getSignificado(), i, 2);
tblDicionario.setValueAt(meudicionario.get(i).getFonte(), i, 3);
}
}
//Escrevendo no txt
public void listarTxt(){
Path path = Path.of("C:\\Users\\User\\Documents\\NetBeansProjects\\MeuDicionario\\arquivo.txt");
try {
if(Files.notExists(path)){
Files.createFile(path);
}
String texto = this.numTermo + ";" + this.termo + ";" + this.significado + ";" + this.fonte + "; \n";
Files.writeString(path, texto, StandardOpenOption.WRITE, StandardOpenOption.APPEND);
} catch (IOException ex) {
java.util.logging.Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
}
}
//Não consigo escrever no txt e ler clicando no listar, ele somente lista adicionando pela interface
public void lerTxt(){
try{
FileReader f = new FileReader("arquivo.txt");
BufferedReader b = new BufferedReader(f);
String linha = b.readLine();
String usearray[] = linha.split(";");
termo = usearray[1];
significado = usearray[2];
fonte = usearray[3];
} catch (IOException e){
}
}
//Botão salvar
private void btnSalvarActionPerformed(java.awt.event.ActionEvent evt) {
// Botão salvar
Dicionario d = new Dicionario();
d.setNumTermo(Integer.parseInt(tfdnumTermo.getText()));
d.setTermo(tfdTermo.getText());
d.setSignificado(tfdSignificado.getText());
d.setFonte(tfdFonte.getText());
if (cd.salvar(d)) {
JOptionPane.showMessageDialog(null, "Termo cadastrado com sucesso!");
tfdnumTermo.setText("");
tfdTermo.setText("");
tfdSignificado.setText("");
tfdFonte.setText("");
tfdnumTermo.requestFocus();
} else {
JOptionPane.showMessageDialog(null, "Erro ao cadastrar o termo!");
}
d.listarTxt();
}
private void exibeDicionario(){
ArrayList<Dicionario> meudicionario = cd.retornarTodos();
for (int i = 0; i < 10; i++){
tblDicionario.setValueAt("", i, 0);
tblDicionario.setValueAt("", i, 1);
tblDicionario.setValueAt("", i, 2);
tblDicionario.setValueAt("", i, 3);
}
for (int i = 0; i < meudicionario.size() && meudicionario.get(i) != null; i++){
tblDicionario.setValueAt(meudicionario.get(i).getNumTermo(), i, 0);
tblDicionario.setValueAt(meudicionario.get(i).getTermo(), i, 1);
tblDicionario.setValueAt(meudicionario.get(i).getSignificado(), i, 2);
tblDicionario.setValueAt(meudicionario.get(i).getFonte(), i, 3);
}
}
//Escrevendo no txt
public void listarTxt(){
Path path = Path.of("C:\\Users\\User\\Documents\\NetBeansProjects\\MeuDicionario\\arquivo.txt");
try {
if(Files.notExists(path)){
Files.createFile(path);
}
String texto = this.numTermo + ";" + this.termo + ";" + this.significado + ";" + this.fonte + "; \n";
Files.writeString(path, texto, StandardOpenOption.WRITE, StandardOpenOption.APPEND);
} catch (IOException ex) {
java.util.logging.Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
}
}
//Não consigo escrever no txt e ler clicando no listar, ele somente lista adicionando pela interface
public void lerTxt(){
try{
FileReader f = new FileReader("arquivo.txt");
BufferedReader b = new BufferedReader(f);
String linha = b.readLine();
String usearray[] = linha.split(";");
termo = usearray[1];
significado = usearray[2];
fonte = usearray[3];
} catch (IOException e){
}
}
//Botão salvar
private void btnSalvarActionPerformed(java.awt.event.ActionEvent evt) {
// Botão salvar
Dicionario d = new Dicionario();
d.setNumTermo(Integer.parseInt(tfdnumTermo.getText()));
d.setTermo(tfdTermo.getText());
d.setSignificado(tfdSignificado.getText());
d.setFonte(tfdFonte.getText());
if (cd.salvar(d)) {
JOptionPane.showMessageDialog(null, "Termo cadastrado com sucesso!");
tfdnumTermo.setText("");
tfdTermo.setText("");
tfdSignificado.setText("");
tfdFonte.setText("");
tfdnumTermo.requestFocus();
} else {
JOptionPane.showMessageDialog(null, "Erro ao cadastrar o termo!");
}
d.listarTxt();
}
Daniel
Curtidas 0