Hallo,
ich bin blutiger Anfäger was App-Programmierung angeht.
Ich versuche nun seit paar Stunden aus dem Verzeichnis des Smartphones eine txt Datei auszulesen. Aber dies funktioniert nicht.
Mein Ziel ist es die player.txt aus dem Ordner Documents zu lesen und dann in meine Liste zu laden.
Was dagegen funktioniert ist, wenn die txt Datei im AndroidStudio gespeichert ist.
Hier mal der letzte Stand:
Habe auch die Permission gesetzt:
Würde mich freuen wenn ihr mir helfen könntet.
Danke.
ich bin blutiger Anfäger was App-Programmierung angeht.
Ich versuche nun seit paar Stunden aus dem Verzeichnis des Smartphones eine txt Datei auszulesen. Aber dies funktioniert nicht.
Mein Ziel ist es die player.txt aus dem Ordner Documents zu lesen und dann in meine Liste zu laden.
Was dagegen funktioniert ist, wenn die txt Datei im AndroidStudio gespeichert ist.
Hier mal der letzte Stand:
Code:
load.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final File file = new File(Environment.getExternalStorageDirectory()
.getAbsolutePath(), "player.txt");
String[] arr = loadFile(file);
String text = arrayToString(arr);
String parts[] = text.split(";");
for (int i = 0; i < parts.length; i++){
String name[] = parts[i].split(", ");
playerList.add(new Player(name[0], name[1]));
}
}
});
public static String[] loadFile(File file)
{
FileInputStream fis = null;
try
{
fis = new FileInputStream(file);
}
catch (FileNotFoundException e) {e.printStackTrace();}
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);
String test;
int anzahl=0;
try
{
while ((test=br.readLine()) != null)
{
anzahl++;
}
}
catch (IOException e) {e.printStackTrace();}
try
{
fis.getChannel().position(0);
}
catch (IOException e) {e.printStackTrace();}
String[] array = new String[anzahl];
String line;
int i = 0;
try
{
while((line=br.readLine())!=null)
{
array[i] = line;
i++;
}
}
catch (IOException e) {e.printStackTrace();}
return array;
}
public static String arrayToString(String[] arr){
StringBuilder sb = new StringBuilder();
for(int i = 0; i < arr.length; i++){
sb.append(arr[i]);
}
return sb.toString();
}
Habe auch die Permission gesetzt:
Code:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.schda.game">
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<application
android:allowBackup="true"
android:icon="@mipmap/icon"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme"
>
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Würde mich freuen wenn ihr mir helfen könntet.
Danke.