Ir para conteúdo
Fórum Script Brasil
  • 0

[duvida] manipular .txt


zurawski

Pergunta

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 para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...