Jump to content
Fórum Script Brasil
  • 0

[duvida] manipular .txt


zurawski

Question

ola, estou implementando um projeto de uma biblioteca, (cadastro de alunos, livros, etc)

mas queria saber como usar, tentei de algumas maneiras, bom ele cria o .txt que eu denominei

vamos por partes.

meu Main: (onde tudo é feito, cadastro, consultas etc)

public class Main {
    

    public static void main(String[] args, String File)
    {
        

        
        int op,  cont_aluno=0, cont_autor = 0, cont_livro = 0;
        Funcoes func;
            func    = new Funcoes();
        Aluno al[];
        al= new Aluno[5];
        Autor au[];
        au = new Autor[5];
        Livro li[];
        li = new Livro[5];
        
        do
        {    func.Inicializa();
            
            op = Tela.scanInt("Sistema de Bíblioteca...\n1- Console Aluno \n2-Console Autor" 
                    +"\n3- Console Livro.");
            
            switch (op)
            {
                case 1:
                    {
                        int op2 = Tela.scanInt("Sistema de Bíblioteca...\n1-Cadastro Aluno\n2-Consultar Todos Alunos" 
                                +"\n3- Consultar Matricula Específica.\n 4- Alterar Status Matricula");
                        switch (op2)
                        {
                            case 1:
                            {
                                al[cont_aluno] = new Aluno();
                                cont_aluno++;
                                func.Gravar(File);
                                break;
    
                            } // fexa case 1
                            case 2:
                            {
                                for(int i =0;i<cont_aluno;i++)
                                    al[i].print();
                                break;
ele cria o arquivo, porem não salva, queria saber o que esta errado nisto. agora a classe Aluno (onde são declaradas as variaveis para o cadastro do aluno) Aluno.java: irei colocar a parte do Scan das variaveis
public void scan()
    {
        matricula = Tela.scanInt("Matricula:");
        nome = Tela.scanString("Nome:");
        endereco = Tela.scanString("Endereço:");
        telefone = Tela.scanString("Telefone:");
        curso = Tela.scanString("Curso:");
    }
agora colocarei todo a classe Funcoes (onde é feita a leitura e gravação) porem aqui é a minha duvida de como fazer Funcoes.java:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

import javax.swing.JOptionPane;
public class Funcoes {
    

        
        
        
        public void Gravar(String texto1)
        {
        String conteudo = texto1;  
        try{  
          
           Object local = null;
            FileWriter x = new FileWriter((String) local,true);   
             
          
           conteudo += "\n\r"; // criando nova linha e recuo no arquivo           
           x.write(conteudo); // armazena o texto no objeto x, que aponta para o arquivo           
           x.close(); // cria o arquivo           
           JOptionPane.showMessageDialog(null,"Arquivo gravado com sucesso","Concluído",JOptionPane.INFORMATION_MESSAGE);  
        }  
        // em caso de erro apreenta mensagem abaixo  
        catch(Exception e){  
           JOptionPane.showMessageDialog(null,e.getMessage(),"Atenção",JOptionPane.WARNING_MESSAGE);  
        }  
     }  
    


    public void Ler(String texto1)
            {    
        
        try {  
            //Objeto de leitura de arquivos  
            BufferedReader leitor = new BufferedReader(new FileReader(texto1));  
              
            //String para receber uma linha por vez  
            String atributo;  
              
            //leitor.readLine() : lê uma linha de cada vez e atribui na variavel atributo  
            while ((atributo = leitor.readLine()) != null){  
               System.out.println(atributo);  
            }  
         } catch (FileNotFoundException e) {  
            System.out.println("Erro ao ler o arquivo txt. Motivo: "+e.getMessage());  
            e.printStackTrace();  
         } catch (IOException e) {  
            System.out.println("Erro ao ler o arquivo txt. Motivo: "+e.getMessage());  
            e.printStackTrace();  
         }  
                
            }
    
    public void Inicializa()
    {
        File texto1 = new File("C:/TesteJava.txt");  
        
        //Se o arquivo não existir no diretório passado, ele cria um novo arquivo.   
        if (!texto1.exists()){  
           try {  
              texto1.createNewFile();  
           } catch (IOException e) {  
              System.out.println("Não foi possível criar o arquivo. Motivo: "+e.getMessage());  
              e.printStackTrace();  
           }  
        }  
    }

    
    



}// fexa Classe Funções

sei qe tem algo errado pois ele sempre retorna a mensagem de erro qe não pode gravar os dados digitados, queria saber se alguém pode me ajudar nisso, onde falta coisas, e se no proprio codigo tem algo a ser feito.

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...