Olá a todos!
A dúvida é a seguinte: Quero chamar através de um menu, a execução de um método que está em outra classe para gravar novos dados em um arquivo texto.
Preciso de ajuda, pois vou ter uma prova da faculdade sobre manipulação de arquivos e vai ser mais ou menos assim a prova, através de um menu, o usuário escolhe as opções para manipular um determinado arquivo.
Seguem os códigos.
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import javax.swing.JOptionPane;
public class EscreveArquivo {
public void escreveArquivo(ArrayList<Pessoas> pessoas){
try{
FileWriter fw = new FileWriter("c:/arquivo/pessoas.txt", true);
BufferedWriter bw = new BufferedWriter(fw);
try{
for (Pessoas pessoa : pessoas){
pessoa.setCodigo(Integer.parseInt(JOptionPane.showInputDialog("Informe o código:")));
bw.write(pessoa.getCodigo());
bw.newLine();
pessoa.setNome(JOptionPane.showInputDialog("Informe o nome:"));
bw.write(pessoa.getNome());
bw.newLine();
}
} finally{
bw.close();
}
} catch (FileNotFoundException ex){
JOptionPane.showInputDialog(null, "arquivo não encontrado");
} catch (IOException ex){
JOptionPane.showInputDialog(null, "falha ao acessar o arquivo");
}
}
}
import javax.swing.JOptionPane;
public class menuCadList{
public static void inclusao(){
EscreveArquivo escreve = new EscreveArquivo();
ArrayList<Pessoas> pessoas = escreve.escreveArquivo(pessoas);
}
public static void listar(){
LeArquivoPessoas arq = new LeArquivoPessoas();
ArrayList<String> pessoas = arq.ler();
for(String pessoa : pessoas){
System.out.println(pessoa);
}
}
public static void imprime(){
}
public static void main(String a[]){
int op=9;
op = Integer.parseInt(JOptionPane.showInputDialog(
"Menu: \n"+
"1 - Inclusão \n"+
"2 - Listar \n"+
"3 - Imprime"));
while ( op != 0){
switch (op){
case 1:
inclusao();
break;
case 2:
listar();
break;
case 3:
imprime();
break;
}
}
}
}