Find and open file . txt, add info and save to java

Asked

Viewed 940 times

2

I have a little project of a system for clinics where the receptionist makes the register of the patient by placing his personal information and saving it in a txt file. Then when the doctor receives the patient he will search the name of the patient file through a list, then open the txt and only add the information related to the exam and then save. Below this my patient registration code, someone can help me add this function?

Register the 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 examination of the patient:

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!");
}

}

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 another version where you can pass a collection of Strings, such as a 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);

Browser other questions tagged

You are not signed in. Login or sign up in order to post.