Speicherzugriff um csv von internem Speicher/SD-Karte einzulesen

A

a-mace-ing

Neues Mitglied
0
Hallo zusammen,
ich schreibe derzeit eine Semesterarbeit, in welcher ich eine App schreiben soll, welche eine csv-Datei einlesen und visualisieren kann. Diese csv soll per USB auf das Gerät/dessen SD-Karte gezogen werden.

Ich habe auf diversen Foren und auch auf youtube tutorials gelesen und gesehen, jedoch wurde dieses Thema -so simpel es eigentlich doch ist- als ganzes nie wirklich abgedeckt. Entweder der Speicherzugriff oder das Einlesen der csv - und ich schaffe es partout nicht beide Themen funktionierend zu vereinen :confused2:

Hoffe ihr könnt mir helfen

Danke :)

a-mace-ing
 
Wo genau hapert es denn?
Wenn du den Speicherzugriff hast musst du doch nur die passende Datei dort ablegen.

Ich weiß ja nicht was für tutorials du gelesen hast aber beides zu verknüpfen sollte eigentlich gar kein Problem sein.
 
Mein Code:

public void readData(){

File dir = Environment.getExternalStorageDirectory();
File file = new File(dir,"test.csv");
FileInputStream inputStream = null;
String temp;
String a[];

try {
String FileName = file.getAbsolutePath();
inputStream = openFileInput(FileName);
byte[] reader = newbyte[inputStream.available()];
while( inputStream.read(reader) != -1) {}

Scanner s = new Scanner(new String (reader));
s.useDelimiter("\\n");

while (s.hasNext()){
//Zeilen
temp = s.next();
//Spalten
a = temp.split(",");
list.add(Integer.parseInt(a[3]));
}

s.close();
Toast.makeText(this, "csv gelesen", Toast.LENGTH_SHORT).show();

} catch (Exception e) {
Log.e("Chart", e.getMessage() );

} finally {
if (inputStream!=null){
try {inputStream.close();

} catch (IOException e2) {
Log.e("Chart",e2.getMessage());
}

}
}


}

amfa schrieb:
beides zu verknüpfen sollte eigentlich gar kein Problem sein.

Denke ich eigentlich auch, aber ich erhalte von LogCat stets die Meldung:
"File/storage/sdcard/test.csv contains a path separator"

test.csv liegt auf der SD-Karte.
 
Zuletzt bearbeitet:
openFileInput kann keine Pfade öffnen.

Da du dort aber auch nur ein FileInputStream zurück bekommst
kannst du auch einfach
new FileOutputStream(file) machen.

Wenn du die nötigen Rechte in deiner App hast öffnet der dann die entsprechende Datei.

Steht aber genauso in der Doku:
Context | Android Developers
 
danke für den Tipp, muss ich irgendwie überlesen haben...
Werds ausprobieren :)
 

Ähnliche Themen

A
Antworten
10
Aufrufe
1.927
swa00
swa00
E
Antworten
0
Aufrufe
699
enrem
E
M
Antworten
4
Aufrufe
1.173
swa00
swa00
Zurück
Oben Unten