Criar e Gravar dentro de um arquivo TXT

14 respostas
gilberto_mogi

Olá Desenvolvedores, boa tarde!

Caso possam me ajudar, sou iniciante em JAVA, e estoui realizando pequenos teste como classes.

A idéia é criar um arquivo TXT e depois gravar dados dentro dele…

Abaixo, esta retornando o seguinte erro que eu não estou conseguindo saná-lo : ‘{’ expected

Alguém dos amigos consegue visualizar tal erro :

import java.lang.<em>;

import java.lang.String;

import <a href="http://java.io">java.io</a>.</em>;
public class Grava_Arquivo

{

public static void main(String[] args) throws IOException

{
String vArqSai = "nome_DO_ArQUIVO_ENORME_PARA_GRAVA.TXT"  ;
       
          // vai lá na classe, e criar o arquivo TXT
          CriaArq(vArqSai);


          AOPSai.write("TESTE DE GRAVAÇÃO DENTRO DO ARQUIVO");
          AOPSai.newLine();
          AOPSai.write("Gravando Linha Hum...");
          AOPSai.newLine();
          AOPSai.write("Gravando Linha Dois...");
          AOPSai.close();
          }






   class CriaArq(String vParametro_NomeArq)

          {
                OutputStream vCria1 = new FileOutputStream(vParametro_NomeArq);
          OutputStreamWriter vCria2 = new OutputStreamWriter(vCria1);
              BufferedWriter AOPSai = new BufferedWriter(vCria2);
          }

   }

14 Respostas

nel

Boa tarde.

Novato no GUJ? Leia este tópico, por favor: [url]http://www.guj.com.br/posts/list/50115.java[/url]

Já antecipo para sempre que postar código utilze as tags "[code]" que podem ser encontradas acima do campo onde você digita o seu texto, caso contrário, o pessoal pode nem mesmo olhar o seu problema.

Sobre o que está ocorrendo, fique atento aos abre/fecha do '{' e '}'.

Abraços.

gilberto_mogi

desculpe-me :

import java.lang.*;
import java.lang.String;
import java.io.*;

public class Grava_Arquivo
       {
       public static void main(String[] args) throws IOException
              {

              String vArqSai = "nome_DO_ArQUIVO_ENORME_PARA_GRAVA.TXT"  ;
              CriaArq(vArqSai);

              AOPSai.write("TESTE DE GRAVAÇÃO DENTRO DO ARQUIVO");
              AOPSai.newLine();
              AOPSai.write("Gravando Linha Hum...");
              AOPSai.newLine();
              AOPSai.write("Gravando Linha Dois...");
              AOPSai.close();
              }


       class CriaArq(String vParametro_NomeArq)
              {
                    OutputStream vCria1 = new FileOutputStream(vParametro_NomeArq);
              OutputStreamWriter vCria2 = new OutputStreamWriter(vCria1);
                  BufferedWriter AOPSai = new BufferedWriter(vCria2);
              }
        }
evertonsilvagomesjav

bom vc ta gravando o arquivo local, ou via rede?

nel

Sem problemas amigo.

Você esqueceu de fechar o '}' da sua classe GravaArquivo.

import java.lang.*;   
import java.lang.String;   
import java.io.*;   
  
public class Grava_Arquivo   
       {   
       public static void main(String[] args) throws IOException   
              {   
  
              String vArqSai = "nome_DO_ArQUIVO_ENORME_PARA_GRAVA.TXT"  ;   
              CriaArq(vArqSai);   
  
              AOPSai.write("TESTE DE GRAVAÇÃO DENTRO DO ARQUIVO");   
              AOPSai.newLine();   
              AOPSai.write("Gravando Linha Hum...");   
              AOPSai.newLine();   
              AOPSai.write("Gravando Linha Dois...");   
              AOPSai.close();   
              }   
  
  
       class CriaArq(String vParametro_NomeArq)   
              {   
                    OutputStream vCria1 = new FileOutputStream(vParametro_NomeArq);   
              OutputStreamWriter vCria2 = new OutputStreamWriter(vCria1);   
                  BufferedWriter AOPSai = new BufferedWriter(vCria2);   
              }   
        } 
}//faltava esta chave

Teste e poste os resultados/dúvidas.
Abraço.

gilberto_mogi

Estou local (c:)…

Em relação as {…tem 3 abrindo e 3 fechando…

O erro ocorre na linha 22 :

class CriaArq(String vParametro_NomeArq)

‘{’ expected

evertonsilvagomesjav

pra criar um arquivo txt pq vc nao usa, File e FileWriter?

gilberto_mogi

ok, vou utilizá-las então…mas e este erro ??

nel

Se você cria outra classe dentro de uma classe public, deve fechar a classe public antes.
Assim...

import java.lang.*;     
import java.lang.String;     
import java.io.*;     
     
public class Grava_Arquivo     
       {     
       public static void main(String[] args) throws IOException     
              {     
     
              String vArqSai = "nome_DO_ArQUIVO_ENORME_PARA_GRAVA.TXT"  ;     
              CriaArq(vArqSai);     
     
              AOPSai.write("TESTE DE GRAVAÇÃO DENTRO DO ARQUIVO");     
              AOPSai.newLine();     
              AOPSai.write("Gravando Linha Hum...");     
              AOPSai.newLine();     
              AOPSai.write("Gravando Linha Dois...");     
              AOPSai.close();     
              }     

}//fim da classe public     
     
class CriaArq(String vParametro_NomeArq)  {     
                  OutputStream vCria1 = new FileOutputStream(vParametro_NomeArq);     
                  OutputStreamWriter vCria2 = new OutputStreamWriter(vCria1);     
                  BufferedWriter AOPSai = new BufferedWriter(vCria2);     
                
}

Abraço.

gilberto_mogi

nel…mesmo erro !!

nel

Você estava declarando da forma incorreta, aqui vai o código correto.

import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;


public class GravaArquivo {
	
	 public static void main(String[] args) throws IOException    {       
	       
	         String vArqSai = "nome_DO_ArQUIVO_ENORME_PARA_GRAVA.TXT"  ;       
	         Teste t = new Teste();
	         BufferedWriter AOPSai = t.CriaArq(vArqSai);       
	       
	           AOPSai.write("TESTE DE GRAVAÇÃO DENTRO DO ARQUIVO");       
	           AOPSai.newLine();       
	           AOPSai.write("Gravando Linha Hum...");       
	           AOPSai.newLine();       
	           AOPSai.write("Gravando Linha Dois...");       
	           AOPSai.close();       
	     }       
       
}	       
class Teste { 
    public BufferedWriter CriaArq(String vParametro_NomeArq) throws FileNotFoundException  {       
	                  OutputStream vCria1 = new FileOutputStream(vParametro_NomeArq);       
	                  OutputStreamWriter vCria2 = new OutputStreamWriter(vCria1);       
	                  BufferedWriter AOPSai = new BufferedWriter(vCria2);       
	                  return AOPSai;
	}   
}

Não testei sua lógica ou algo parecido, apenas retirei os erros. Abraços.

manolimars

CriaArq é uma Classe, não um método!
a passagem de parâmetros deve ser feita através de um método Construtor e não diretamente pela Classe

nel

Só para deixar claro. O Código que postei acima com as correções para você funcionam perfeitamente ok?
Mas eu diria que há formas melhores de implementação para esta necessidade. Caso lhe interesse, dê uma pesquisada aqui no GUJ, tem vários tópicos relacionados a manipulação de arquivos bem como pela net.

Abraços! :slight_smile:

gilberto_mogi

Valeu! Funcionou ! Obrigado pela força Nel / evertonsilvagomesjava…

nel

Ótimo! Basta postar [Resolvido] ao lado do seu tópico ok?
Abraços e boa programação! :slight_smile:

Criado 23 de novembro de 2009
Ultima resposta 23 de nov. de 2009
Respostas 14
Participantes 4