Jump to content
packs27

Somar dois numeros, escrever, ler, gravar num finheiro .txt, ler e gravar num outro ficheiro .txt

Recommended Posts

packs27

comecei a trabalhar a pouco tempo num empresa que programa os cartões MiFire e estou na fase experimental. Entretanto o engenheiro mandou.me fazer um trabalho.

Primeira etapa:

Tenho que introduzir dois valores numéricos e obter o resultado da soma;
Guardar num ficheiro sequencial as parcelas e o resultado da soma;
Cada linha de ficheiro guardado "f1" contem 3 informações:
     linha1<- p1, p2, soma
     linha2<- p1, p2, soma
Segunda etapa:

Ler o ficheiro guardado e mostrar as parcelas com elemento de uma multiplicação e obter o resultado.
Gravar num ficheiro txt "f2" os elementos e o produto em cada uma das linha.

Estou a tentar fazer mas nao estou a conseguir, alguém podia me ajudar??

 int n1 = Integer.parseInt(txtN1.getText());
        int n2 = Integer.parseInt(txtN2.getText());
        int soma = n1 + n2;
        //int mult = n1 * n2;
        txtR.setText(Integer.toString(soma));
        //txtRM.setText(Integer.toString(mult));
        
        String linhat = "";
        
        //Ler e gravar no primeiro arquivo
        
        File arq = new File("arquivo.txt");
   
        
        try{
            
        arq.createNewFile();
        
        FileReader ler = new FileReader(arq);
        
        FileWriter fileWriter = new FileWriter(arq);
        BufferedWriter escrever = new BufferedWriter(fileWriter);
        
        linhat = Integer.toString(n1)+ ";";
        escrever.write(linhat);
        
        linhat = Integer.toString(n2)+";";
        escrever.write(linhat);
        
        linhat = Integer.toString(soma) ;
        escrever.write(linhat);
        
        
        PrintWriter gravarArq = new PrintWriter(arq);
        gravarArq.print(linhat);
        
        
        escrever.close();
        fileWriter.close();
        
         
        BufferedReader lerb = new BufferedReader(ler);
        
        String linha = lerb.readLine();
        
        while(linha !=null){
            System.out.println(linha);
            linha = lerb.readLine();
      
    //ler o ficheiro       
      File file = new File("arquivo.txt");
      FileReader fr = new FileReader(file);
      BufferedReader br = new BufferedReader(fr);
      // gravar o ficheiro "f2"
      File file = new File("arquivo2.txt");
      FileWriter fw = new FileWrite(file);
      BufferedReader bw = new BufferedReader(fw);
      
      String s ="",
      bw.newLine;
      bw.write(s);
      bw.flush();
      
      
            
           /* Scanner in = new Scanner(new FileReader("arquivo.txt"));
        while(in.hasNextLine()){
            String line = scanner.nexteLine();
            System.out.println(line);
       */
        
        }
        }catch (IOException ex){
        }

 

Share this post


Link to post
Share on other sites
M6

Tens de ser mais claro e concreto nas tuas dúvidas.
Mostrares um pedaço de código e dizer que não consegues fazer um exercício não dá para perceber quais as tuas dúvidas ou problemas.


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Share this post


Link to post
Share on other sites
packs27
Em 12/12/2017 às 11:37, M6 disse:

Tens de ser mais claro e concreto nas tuas dúvidas.
Mostrares um pedaço de código e dizer que não consegues fazer um exercício não dá para perceber quais as tuas dúvidas ou problemas.

o que não consigo fazer é ler o ficheiro arquivo.txt que criei, multiplicar o n1 e o n2 e gravar num outrou ficheiro txt.

Não sei se tenho que criar outra class ler, escrever e guardar.

Esse  código é o que funciona :

  int n1 = Integer.parseInt(txtN1.getText());
        int n2 = Integer.parseInt(txtN2.getText());
        int soma = n1 + n2;
        int mult = n1 * n2;
        txtR.setText(Integer.toString(soma));
        txtRM.setText(Integer.toString(mult));
        
        String linhat = "";
        
        //Ler e gravar no primeiro arquivo
        
        File arq = new File("arquivo.txt");
   
        
        try{
            
        arq.createNewFile();
        
        FileReader ler = new FileReader(arq);
        
        FileWriter fileWriter = new FileWriter(arq);
        BufferedWriter escrever = new BufferedWriter(fileWriter);
        
        linhat = Integer.toString(n1)+ ";";
        escrever.write(linhat);
        
        linhat = Integer.toString(n2)+";";
        escrever.write(linhat); 
        
        linhat = Integer.toString(soma) ;
        escrever.write(linhat);
        
        
        PrintWriter gravarArq = new PrintWriter(arq);
        gravarArq.print(linhat);
        
        
        escrever.close();
        fileWriter.close();
        
         
        BufferedReader lerb = new BufferedReader(ler);
        
        String linha = lerb.readLine();
        
        while(linha !=null){
            System.out.println(linha);
            linha = lerb.readLine();
            
            
        
        }
        }catch (IOException ex){
        } 

 

Share this post


Link to post
Share on other sites
packs27

Fiz a função na no boato btnBTActionPerrmed, deve ser por causa disso que não esta a funcionar, porque se fazer a função na class main, não consigo ligar a função ao botão e nem introduzir dados no campo textFiled  .

private void btnBTActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
        
        int n1 = Integer.parseInt(txtN1.getText());
        int n2 = Integer.parseInt(txtN2.getText());
        int soma = n1 + n2;
        //int mult = n1 * n2;
        txtR.setText(Integer.toString(soma));
        //txtRM.setText(Integer.toString(mult));
        
        String linhat = "";
        
        //Ler e gravar no primeiro arquivo
        
        File arq = new File("arquivo.txt");
   
        
        try{
            
        arq.createNewFile();
        
        FileReader ler = new FileReader(arq);
        
        FileWriter fileWriter = new FileWriter(arq);
        BufferedWriter escrever = new BufferedWriter(fileWriter);
        
        linhat = Integer.toString(n1)+ ";";
        escrever.write(linhat);
        
        linhat = Integer.toString(n2)+";";
        escrever.write(linhat); 
        
        linhat = Integer.toString(soma) ;
        escrever.write(linhat);
        
        
        PrintWriter gravarArq = new PrintWriter(arq);
        gravarArq.print(linhat);
        
        
        escrever.close();
        fileWriter.close();
        
         
        BufferedReader lerb = new BufferedReader(ler);
        
        String linha = lerb.readLine();
        
        while(linha !=null){
            System.out.println(linha);
            linha = lerb.readLine();
            
            
        
        }
        }catch (IOException ex){
        }

}

 

Share this post


Link to post
Share on other sites
M6

Mas dá-te algum erro ao ler o ficheiro?

 


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Share this post


Link to post
Share on other sites
packs27
23 horas atrás, M6 disse:

Mas dá-te algum erro ao ler o ficheiro?

 

Já não mas ainda não consegui ler o ficheiro e escrever a multiplicação de (n1*n2) e gravar num outro ficheiro, consegues fazer essa função?

código executável:   

private void btnBTActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
        
        int n1 = Integer.parseInt(txtN1.getText());
        int n2 = Integer.parseInt(txtN2.getText());
        int soma = n1 + n2;
        //int mult = n1 * n2;
        txtR.setText(Integer.toString(soma));
        //txtRM.setText(Integer.toString(mult));
        
        String linhat = "";
        
        //Ler e gravar no primeiro arquivo
        
        File arq = new File("arquivo.txt");
   
        
        try{
            
        arq.createNewFile();
        
        FileReader ler = new FileReader(arq);
        BufferedReader lerb = new BufferedReader(ler);
        
        
        
        String linha = lerb.readLine();
        
        while(linha !=null){
            System.out.println(linha);
            linha = lerb.readLine();
        }
        
        
        
        FileWriter fileWriter = new FileWriter(arq);
        BufferedWriter escrever = new BufferedWriter(fileWriter);
        
        linhat = Integer.toString(n1)+ ";";
        escrever.write(linhat);
        
        linhat = Integer.toString(n2)+";";
        escrever.write(linhat); 
        
        linhat = Integer.toString(soma) ;
        escrever.write(linhat);
        
        //File arq1 = new File("arquivo2.txt");
       //PrintWriter gravarArq = new PrintWriter(arq);
        //gravarArq.print(linhat);
        
        
        escrever.close();
        fileWriter.close();
    
         
        
        }catch (IOException ex){
        }
        
        
            
        /*
        Scanner in = new Scanner(new FileReader("arquivo.txt"));
        while(in.hasNextLine()){
            String line = scanner.nexteLine();
            System.out.println(line);
        }
        try{
        FileInputStream inputStream = new FileInputStream("arquivo.txt");
        String texto = IOUtils.toString(InputStream);
        
        }catch(IOException ex){
        }
      */
        try{
        BufferedReader br = new BufferedReader(new FileReader("C:\\Users\\patrick.moreira\\Documents\\NetBeansProjects\\Exercicio1\\arquivo.txt"));
        FileReader lerb = new FileReader(arq);
      
        linhat = Integer.toString(n1);
        lerb.read();
        
        linhat = Integer.toString(n2);
        lerb.read();
        
        linhat = Integer.toString(soma);
        lerb.read();
        
        while(br.ready()){
            String linha = br.readLine();
            System.out.println(linha);
        PrintWriter gravarArq = new PrintWriter(arq);
        gravarArq.print(linhat);
        
        }
        }catch(IOException ex){
                
                }

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.