1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Ler um arquivo txt ja salvo em outra Activity

oa tarde amigos, sou novo em desenvolvimento android, comecei essa semana, tenho q fazer um app que ta quase pronto, sóe travei em um ponto aqui, preciso ler um arquivo texto já gravado em uma outra activity, eu fiz ele ler na mesma activity e funciona certinho, mas quando tento puxar em outra activity, ele trava o app, como resolvo isso? já aproveitando, queria saber se consigo salvar paramentos de TextView junto desse arquivo ou em outro mesmo? não achei nada sobre isso. vou colocar o código aqui em baixo. desde já agradeço amigos.

tela de gravação do arquivo, aqui ele esta gravando e lendo normalmente.

package com.example.dfabr.primeiroprograma;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;





public class telaTexto extends AppCompatActivity {



    public TextView arqTxt;

    public EditText txtDigitado;
    public EditText nomeArqTxt;
    public Button btnSalvarTxt;
    public Button btnLer1;
    public Button btnExcluir;
    public TextView conteudoArquivo;










    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_tela_texto);

        txtDigitado = (EditText) findViewById(R.id.txtDigitado);
        nomeArqTxt = (EditText) findViewById(R.id.nomeArqTxt);
        btnSalvarTxt = (Button) findViewById(R.id.btnSalvarTxt);
        btnLer1 = (Button) findViewById(R.id.btnLer1);
        btnExcluir = (Button) findViewById(R.id.btnExcluir);
        conteudoArquivo = (TextView) findViewById(R.id.conteudoArquivo);


        btnSalvarTxt.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {


                try  {
                    EditText nomeArquivo = (EditText) findViewById(R.id.nomeArqTxt);
                    EditText txtDigitado = (EditText) findViewById(R.id.txtDigitado);

                    FileOutputStream gravarTexto = openFileOutput(nomeArqTxt.getText().toString(), MODE_PRIVATE);
                    String conteudoTxt = txtDigitado.getText().toString();
                    gravarTexto.write(conteudoTxt.getBytes());
                    gravarTexto.close();
                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }
                Toast.makeText(telaTexto.this, "Arquivo Gravado Com Sucesso", Toast.LENGTH_LONG).show();
                Intent intent = new Intent(telaTexto.this, MainActivity.class);

                startActivity(intent);
            }
        });


        btnLer1.setOnClickListener(new  View.OnClickListener() {
            @Override
            public void onClick(View v) {
                try  {
                    EditText nomeArquivo = (EditText) findViewById(R.id.nomeArqTxt);
                    EditText txtDigitado = (EditText) findViewById(R.id.txtDigitado);
                    TextView conteudoArquivo = (TextView)findViewById(R.id.conteudoArquivo);

                    File arquivoRecuperado = getFileStreamPath(nomeArquivo.getText().toString());
                    if (arquivoRecuperado.exists()) {
                        FileInputStream arqRacuperado = openFileInput(nomeArqTxt.getText().toString());
                        int tamanhoArquivo = arqRacuperado.available();
                        byte dadosBytesLidos[] = new byte[tamanhoArquivo];
                        arqRacuperado.read(dadosBytesLidos);
                        String txtLido = new String(dadosBytesLidos);
                        txtDigitado.setText(txtLido);
                        }else {
                        Toast.makeText(telaTexto.this, "Arquivo não encontrado", Toast.LENGTH_LONG).show();
                        }
                        } catch (FileNotFoundException e) {
                         e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }

            }
        });

        /*btnExcluir.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                EditText nomeArquivo = (EditText)findViewById(R.id.nomeArqTxt);
                boolean exclusao = deleteFile(nomeArqTxt.getText().toString());
                if(exclusao)
                    Toast.makeText(telaTexto.this, "Arquivo excluido com sucesso", Toast.LENGTH_LONG).show();
                 else
                    Toast.makeText(telaTexto.this, "Arquivo não encontrado para exclusão", Toast.LENGTH_LONG).show();


            }
        });*/




    }
}

aqui onde devo abrir o txt, avisa quando não tem o arquivo, mas quando tem o app trava.


import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;




public class ler_Arquivo extends AppCompatActivity {

    public EditText nomeArqTxt;
    public Button btnLer1;
    public EditText txtDigitado;
    public TextView conteudoArquivo;





    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_ler__arquivo);

        nomeArqTxt = (EditText) findViewById(R.id.nomeArqTxt);
        conteudoArquivo = (TextView) findViewById(R.id.conteudoArquivo);
        btnLer1 = (Button) findViewById(R.id.btnLer1);

        btnLer1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                try  {
                    EditText nomeArquivo = (EditText) findViewById(R.id.nomeArqTxt);
                    EditText txtDigitado = (EditText) findViewById(R.id.txtDigitado);
                    TextView conteudoArquivo = (TextView)findViewById(R.id.conteudoArquivo);

                    File arquivoRecuperado = getFileStreamPath(nomeArquivo.getText().toString());
                    if (arquivoRecuperado.exists()) {
                        FileInputStream arqRacuperado = openFileInput(nomeArqTxt.getText().toString());
                        int tamanhoArquivo = arqRacuperado.available();
                        byte dadosBytesLidos[] = new byte[tamanhoArquivo];
                        arqRacuperado.read(dadosBytesLidos);
                        String txtLido = new String(dadosBytesLidos);
                        txtDigitado.setText(txtLido);
                    }else {
                        Toast.makeText(ler_Arquivo.this, "Arquivo não encontrado", Toast.LENGTH_LONG).show();
                    }
                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }

            }
        });



    }
}
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags android ou faça a sua própria pergunta.