Ola pessoal, como consigo manter uma string salva em um arquivo “txt”, porem o processo não consigo monta-lo por “for”.
Processo executado por repetiçoes de while em uma JOptionPane:
Ele abre uma tela se deseja cadastrar um lancamento no txt, se vc confirma ele abre outra tela para montar a string e salva-la no txt.
Retorna a tela anterior de solicitação se deseja realizar mais lancamentos ou não.
no caso se eu novamente desejar lançar um segundo servico, ele substitui o lançamento anterior pelo novo…
Como eu poderia manter esse lançamento e na linha debaixo lançar o novo serviço??
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
public class LancaServico {
public static void main(String[] args) {
executaLancaServico();
}
static void executaLancaServico() {
int quantidadeServicos = 0;
int opcao = 0;
do {
try {
String nomepet = pedeNome();
File arqServico = GeraArquivoServico(nomepet);
if (arqServico.exists()) {
mostraOpcao(arqServico);
pedeServico(arqServico);
}
} catch (Exception ex) {
Dialogo.mostraErro("Error", ex.getMessage());
Menu.executaMenu();
}
} while (quantidadeServicos > 20);
}
static String pedeNome() {
String nomePet;
do {
nomePet = null;
try {
nomePet = Dialogo.lerTextoObrigatorio("Lança Serviço", "Informe o nome do pet: ");
} catch (Exception ex) {
Dialogo.mostraErro("Error", ex.getMessage());
Menu.executaMenu();
}
} while (nomePet.length() == 0);
return nomePet;
}
static File GeraArquivoServico(String nomepet) throws Exception {
File arqValida = new File("Animais", nomepet);
File arqServico = new File("Animais//" + nomepet, "servico.txt");
if (arqValida.exists()) {
arqServico.createNewFile();
} else {
Dialogo.mostraErro("Pasta Não Encontrada", "pasta: " + nomepet + "Não foi cadastrada,\nPor favor realizar cadastro!");
return null;
}
return arqServico;
}
static String pedeServico(File arqServico) throws FileNotFoundException {
String servico = Dialogo.lerTextoObrigatorio("Lança Serviço", "Informe o serviço prestado: ");
String valorServico = Dialogo.lerTextoObrigatorio("Lança Serviço", "Informe o valor do serviço: ");
String servicoPrestado = servico + " - " + valorServico;
FileOutputStream fos = new FileOutputStream(arqServico);
OutputStreamWriter osw = new OutputStreamWriter(fos);
PrintWriter pw = new PrintWriter(osw);
pw.println(servicoPrestado + "\n");
pw.close();
return servicoPrestado;
}
static int mostraOpcao(File arqServico) throws FileNotFoundException {
int opcao = 0;
opcao = Dialogo.lerInteiro("Ordem Serviço",
"1 - Adicionar serviço\n"
+ "2 - Fechar ordem de serviços");
switch (opcao) {
case 1:
pedeServico(arqServico);
break;
case 2:
Menu.executaMenu();
break;
default:
throw new AssertionError();
}
return opcao;
}