Find and open .txt file, add information and save in java

2

I have a project for a system for clinics where the receptionist registers the patient by putting his personal information and saving it in a txt file. Then when the doctor receives the patient he will search the patient's file name through a list, then open the txt and only add the information about the exam and then save. Below is my patient registration code, can anyone help me to add this function?

Register patient at reception:

    public class Cadastrar {

    Scanner ler = new Scanner(System.in);
    String nomeArq="Relatorio.pdf";
    String nome;
    String ender;
    String email;
    String tel;
    String bairro;
    String numero;
    String exame;

    public void Inserir(){
    File arquivo; 
    System.out.printf("Nome completo do paciente: ");
    nome = ler.nextLine();
    System.out.printf("Endereço: ");
    ender = ler.nextLine();
    System.out.printf("Bairro: ");
    bairro = ler.nextLine();
    System.out.printf("Número: ");
    numero = ler.nextLine();
    System.out.printf("Telefone: ");
    tel = ler.nextLine();
    System.out.printf("E-mail: ");
    email = ler.nextLine();
    System.out.printf("Exame: ");
    exame = ler.nextLine();

    nomeArq = nome +".txt";

    try
    {
      Formatter saida = new Formatter(nomeArq);
      saida.format("          --- Ficha cadastral de pacientes ---");
      saida.format("\n Nome do paciente: "+nome+"\n");
      saida.format("\n Endereço: "+ender+"\n");
      saida.format("\n Bairro: "+bairro+"\n");
      saida.format("\n Numero: "+numero+"\n");
      saida.format("\n Email: "+email+"\n");
      saida.format("\n Telefone: "+tel+"\n");
      saida.format("\n Exame: "+exame+"\n");
      saida.close();
        System.out.println("Arquivo '"+nomeArq+"' Salvo com sucesso!");
    }
    //mostrando erro em caso se nao for possivel gerar arquivo
    catch(Exception erro){
      System.out.println("Arquivo nao pode ser gerado!");
    }
    }
}

register patient examination:

private void Sangue() {

Scanner ler = new Scanner(System.in);
String nomeArq="Exame de sangue.pdf";
int i;
String Hemácias;
String Hemoglobina;
String Hematócritos;
String HGM;
String Volume;
String Hemog;
String Mielócitos;
String Bastões;

File arquivo; 
System.out.printf("Hemácias: ");
Hemácias = ler.next();
System.out.printf("Hemoglobina: ");
Hemoglobina = ler.next();
System.out.printf("Hematócritos: ");
Hematócritos = ler.next();
System.out.printf("H.G.M: ");
HGM = ler.next();
System.out.printf("Volume corporal médio: ");
Volume = ler.next();
System.out.printf("Conc. Hemog. Corp. Média: ");
Hemog = ler.next();
System.out.printf("Mielócitos");
Mielócitos = ler.next();
System.out.printf("Bastões");
Bastões = ler.next();


try
{
  Formatter saida = new Formatter(nomeArq);
  saida.format("          --- Ficha cadastral de pacientes ---");
  saida.format('\n'+"Nome do paciente: "+Hemácias);
  saida.format('\n'+"Endereço: "+Hemoglobina);
  saida.format('\n'+"Bairro: "+Hematócritos);
  saida.format('\n'+"Numero: "+HGM);
  saida.format('\n'+"Email: "+Volume);
  saida.format('\n'+"Telefone: "+Hemog);
  saida.format('\n'+"Exame: "+Mielócitos);
  saida.format('\n'+"Exame: "+Bastões);
  saida.close();
    System.out.println("Arquivo '"+nomeArq+"' Salvo com sucesso!");
}
//mostrando erro em caso se nao for possivel gerar arquivo
catch(Exception erro){
  System.out.println("Arquivo nao pode ser gerado!");
}

}
    
asked by anonymous 20.06.2016 / 22:48

1 answer

3

In Java 8, you can easily add content to a file using Files.write ":

Files.write(path, bytes, StandardOpenOption.APPEND);

There is also other version where you can pass a collection of strings, such as List<String> . >

A very simple example:

//cria um arquivo temporário qualquer
Path arquivo = Files.createTempFile("pre", ".tmp");

//"prepara" dois conteúdos, incluindo as quebras de linha se precisar
String content1 = "Content1\n";
String content2 = "Content2\n";

//grava o primeiro conteúdo
Files.write(arquivo, content1.getBytes(StandardCharsets.UTF_8), StandardOpenOption.APPEND);

//acrescenta o segundo conteúdo
Files.write(arquivo, content2.getBytes(StandardCharsets.UTF_8), StandardOpenOption.APPEND);

//recupera o conteúdo do arquivo e imprime
String finalContent = new String(Files.readAllBytes(arquivo), StandardCharsets.UTF_8);
System.out.println(finalContent);
    
21.06.2016 / 06:28