Ficheros en Android
Manejo de ficheros
Gestión de datos (2 – Ficheros)
I/O Streams
Lectura y Escritura de Ficheros en Java
BufferedInputStream and BufferedOutputStream in java
Cómo acceder a archivos específicos de la app
File directory = getApplicationContext().getFilesDir(); mostrarMensaje(directory.toString());
Ejemplo: Ficheros en memoria interna
Código de FicherosMemoriaInterna
Ejemplo: Ficheros en memoria externa
Ejemplo: Permiso en memoria externa

Añadir el permiso al manifiesto:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission-sdk-23 android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
build.gradle
android {
compileSdkVersion 28
buildToolsVersion "30.0.2"
buildFeatures {
viewBinding true
}
layout
MainActivity
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
public static final String FICHERO = "ficheroExterna.txt";
private static final int REQUEST_WRITE = 1;
private ActivityMainBinding binding;
private Memoria memoria;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
binding = ActivityMainBinding.inflate(getLayoutInflater());
View view = binding.getRoot();
setContentView(view);
binding.botonEscribir.setOnClickListener(this);
binding.botonLeer.setOnClickListener(this);
}
@Override
public void onClick(View view) {
// Si pulsamos en el botón escribir
if (view == binding.botonEscribir)
guardar();
// Si pulsamos en el botón leer
else if (view == binding.botonLeer)
leer();
}
public void guardar() {
String permiso = Manifest.permission.WRITE_EXTERNAL_STORAGE;
// comprobar los permisos
if (ActivityCompat.checkSelfPermission(this, permiso) != PackageManager.PERMISSION_GRANTED) {
// pedir los permisos necesarios, porque no están concedidos
ActivityCompat.requestPermissions(this, new String[]{permiso}, REQUEST_WRITE);
// Cuando se cierre el cuadro de diálogo se ejecutará onRequestPermissionsResult
} else {
// Permisos ya concedidos
escribir();
}
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
String permiso = Manifest.permission.WRITE_EXTERNAL_STORAGE;
// chequeo los permisos de nuevo
switch (requestCode) {
case REQUEST_WRITE:
if (ActivityCompat.checkSelfPermission(this, permiso) == PackageManager.PERMISSION_GRANTED) {
// permiso concedido
escribir();
} else {
// no hay permiso
mostrarMensaje("No hay permiso para escribir en la memoria externa");
}
break;
}
}
private void mostrarMensaje(String texto) {
Toast.makeText(this, texto, Toast.LENGTH_SHORT).show();
}
clase Memoria
public class Memoria {
public static boolean escribirExterna(String fichero, String cadena) throws IOException{
}
private static boolean escribir(File fichero, String cadena) throws IOException {
}
public static String mostrarPropiedades(File fichero) {
}
public static String mostrarPropiedadesExterna(String fichero) {
}
public static boolean disponibleEscritura() {
}
public static boolean disponibleLectura() {
}
public static String leerExterna(String fichero) throws IOException {
}
private static String leer(File fichero) throws IOException {
}
}
escribir
private void escribir() {
}
leer
private void leer() {
}
Recursos adicionales
Descripción general del almacenamiento de archivos y datos
Para obtener información adicional sobre permisos, consulta los siguientes artículos:
Para descubrir cómo solicitar permisos, descarga las siguientes apps de ejemplo:
Tarea online: Alarmas





Deja una respuesta
Lo siento, debes estar conectado para publicar un comentario.