Arquivo

6 respostas
F

Oi pessoal!Estou precisando da ajuda de vcs.

Estou criando um arquivo.txt e armazenando nele o resultado de uma soma, mais ao abrir o arquivo verifiquei o que esta sendo gravado é o seguinte resultado ?Ͳ-V Como posso resolver este problema??

arquivo2 = new RandomAccessFile(new File("arquivo2.txt"),"rw");
   soma = soma/100;
       try{
            arquivo2.writeDouble(soma);
                                 
            }
            catch (IOException e){
              System.out.println("Erro ao escrever no arquivo!");
              System.exit(0);
              }

6 Respostas

C

Olá Frederico,
Vc não irá conseguir ver o resultado no notepad p.e., pq ele está sendo gravado em Double, ou seja, não é caracter texto(o q o notepad lê).
Caso vc quira gravar os resultados em texto use o Metodo writeUTF(String texto);
Assim:

raf.writeUTF(""+numeroFloat);

Isso resolve teu problema!!!
Ok?!
Até +!

F

Valeu Clovis era isso que eu quiria.

Vou te fazer mais duas perguntas!!

Como faço para pular uma linha toda vez que armazenar um número no arquivo??
Como faço para ler um número do arquivo e colocar este em uma variavel???

C

Vamo lá intaum…
Bom, não tenho certeza… na verdade acho q não funciona…m as tenta aí:

writeUTF("blablabla\n");

Se não funcionar lá vai:
Não use RandomAccessFile, use:

PrintWriter pw=new PrintWriter(new FileOutputStream("nomedoarquivo.txt"));

Aí vc tem o metodo nessa PrintWriter chamado:

pw.println("meunumero");

Esse método já pula a linha pra vc!!!

Vc pode usar a Classe PrintStream no lugar da PrintWriter… são bem paracidas!!

Pra ler o numero e botar numa var, vc vai fazer o seguinte:

BufferedReader bfr=new BufferedReader(new FileReader("nomedoarquivo.txt"));

Aí vc usa o método da BufferedReader:

String meunumero=bfr.readLine();

Agora vc tem o numeor numa string, aí vc precisa transformar esse numero em um int certo?! faça:

int numero=Integer.parseInt(meunumero);

Se for double, use:

...Double.parseDouble(meunumero);

Espero ter solucionado seus problemas!!!

F

:lol: Muito obrigado Clovis!!! :joia:

L

Clv e Fsf,
tenho um problema parecido. No meu caso eu só quero escrever uma string em uma linha só de um arquivo .txt. Entretanto, quando eu uso writeChars, o txt fica com um espaço entre cada caracter e quando eu uso o writeUTF ele fica com um “lixo” (simbolos) no início do texto. Esse lixo não é da string, pois eu boto um println para ver o resultado e ele dá certo.
Quando eu uso o Printwriter ele apaga o o texto do .txt. Eu tentei das duas formas a seguir:

m_output = new FileOutputStream(teste.ncl.txt,false);

DataOutputStream bufferout = new DataOutputStream(m_output);

bufferout.writeUTF(str);
m_output = new FileOutputStream(teste.ncl.txt);

PrintWriter pw= new PrintWriter (m_output);

pw.write(str);

Vlw
Lucas

C

Olá,
Se vc colocar true no construtor do FileOutputStream ele vai colocar o texto a partir do final do arquivo, ou seja, não irá sobrescrever o teu arquivo!

E usa com o true tbm com o PrintWriter q deve dar certo!!

Falow!

Criado 10 de junho de 2004
Ultima resposta 23 de jun. de 2004
Respostas 6
Participantes 3