IllegalArgumentException: El archivo contiene un separador de ruta de acceso Android

Estoy tratando de escribir en un archivo de salida en mi HTC One y obtener el siguiente mensaje en el LogCat:

11-21 08: 05: 18.228: W / System.err (6609): java.lang.IllegalArgumentException: Archivo /storage/emulated/0/com.example.pattern1/myfile.txt contiene un separador de ruta

El código fuente se da a continuación:

protected void writeToFile(String string){ File patternDirectory = new File(Environment.getExternalStorageDirectory().getAbsolutePath().toString()+"/com.example.pattern1/myfile.txt"); patternDirectory.mkdirs(); FileOutputStream outputStream; try { outputStream = openFileOutput(patternDirectory.getAbsolutePath().toString(), Context.MODE_APPEND); outputStream.write(string.getBytes()); TextView t = (TextView)findViewById(R.id.bottomMidText); t.setText(patternDirectory.getAbsolutePath().toString()); outputStream.close(); } catch (Exception e) { e.printStackTrace(); } 

Apreciaría si alguien puede ayudar a identificar el problema.

El método openFileInput no acepta separadores de rutas. ('/')

acepta sólo el nombre del archivo que desea abrir / acceder. así que cambia la declaración

 outputStream = openFileOutput(patternDirectory.getAbsolutePath().toString(), Context.MODE_APPEND); 

a

 outputStream = new FileOutputStream (new File(patternDirectory.getAbsolutePath().toString()), true); // true will be same as Context.MODE_APPEND 

Un problema puede ser el hecho de que: Environment.getExternalStorageDirectory().getAbsolutePath().toString()+"/com.example.pattern1/myfile.txt" Se crea un directorio que tiene el nombre myfile.txt

  • Cuando se comparan dos enteros iguales en el bucle while, el operador equal-to falla?
  • Ext4 / fsync situación poco clara en Android (Java)
  • ¿Cómo convertir la fecha en formato particular en android?
  • No se puede ejecutar el programa "\ ndk-build.cmd": Error al iniciar
  • ¿Elige la actividad que se iniciará en la inicialización de la aplicación?
  • ¿Cuáles son los usos correctos de @NonNull y @Nullable?
  • La instalación de SDK de Android no encuentra JDK
  • Captura todas las excepciones de tipo de programación de Android
  • joda tiempo consumir demasiada memoria
  • SQL eliminar de una tabla + un jointable?
  • Datos no tamaño de bloque alineado en codenameone BouncyCastle (Sin relleno)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.