I need to read a text file already written to another Activity
.
I made it read in the same Activity
and it works fine, but when I try to pull in another Activity
, it locks the app, how do I solve it?
I also wanted to know if I can save TextView
faces next to this file or another one? I did not find anything about it.
File recording screen, here it is writing and reading normally.
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;
private Button btnSalvarTxt;
private Button btnLer;
private Button btnExcluir;
public TextView conteudoArquivo;
@Override
protected 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);
btnLer = (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);
}
});
btnLer.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();
}
});*/
}
}
This is where I should open txt, tell me when it does not have the file, but when it has the app hangs.
package com.example.dfabr.primeiroprograma;
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;
private Button btnLer1;
public EditText txtDigitado;
public TextView conteudoArquivo;
@Override
protected 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();
}
}
});
}
}