2012-12-04 8 views
-2

J'ai un fichier CVS. et je veux que mon application android le lise et l'affiche dans un textview. pourriez-vous me donner un exemple comment faire ceci?Analyser CSV et afficher en textview

+0

début d'ici http://developer.android.com/ reference/java/io/File.html –

+0

Avez-vous besoin d'analyser ce fichier CSV? –

+0

ce serait bien. mais pas nécessaire. – Georggroenendaal

Répondre

0

Vous pouvez utiliser un scanner:

Scanner scanner = new Scanner(new File("file.csv"); 
String s = ""; 
while(scanner.hasNextLine()); 
    s+=scanner.nextLine(); 
String[] values = s.split(","); 

ce processus est 2n, si vous voulez singe autour avec substring vous pourriez probablement obtenir jusqu'à n

est d'ajouter ici à la textview

for(int i = 0; i < values.length; i++){ 
    TextView t = new TextView(getApplicationContext()); 
    t.setText(values[i]); 
    layout.addView(t); 
} 

Vous pouvez ajouter la mise en page e xml ou dans le code lui-même en utilisant setContentView (mise en page);

Vous pouvez utiliser la mise en page params trop en faisant

YourLayoutType.layoutParams params = new YourLayoutType.layoutParams(LayoutParams.whatLayoutTypeYouWant, LayoutParams.whatLayoutTypeYouWant); //(it goes width, height). 

puis les utiliser pour votre mise en page avec

layout.setLayoutParams(params); 

Note: Tout ce code doit être dans le fichier de code d'activité.

+0

est-ce que ceci l'affiche également dans un textview? merci btw – Georggroenendaal

+0

cela dépend de comment vous voulez qu'il affiche dans un textview, chaque valeur sur une ligne séparée? – ceptno

0

Il y a longtemps que j'ai fait ces méthodes en raison du scanner ne fonctionnait pas pour moi:

public ArrayList<String> readFileLines(File file) 
{ 
    ArrayList<String> lines = new ArrayList<String>(); 
    String line; 
    BufferedReader br = null; 

    try 
    { 
     br = new BufferedReader(new FileReader(file)); 

     while ((line = br.readLine()) != null) 
     { 
      lines.add(line); 
     } 
    } 
    catch (Exception e) 
    { 
     System.out.println("Cannot open file to read: " + e); 
    } 
    finally 
    { 
     try 
     { 
      br.close(); 
     } 
     catch (IOException ex) 
     { 
      System.out.println("Cannot close file after saving: " + ex); 
     } 
    } 

    return lines; 
} 

Utilisation:

for (String line: readFileLines(new File("file.csv"))) 
    { 
     String[] values = line.split(";"); 
     // values[0] would be first value of line, values[1] would be second etc. 
    } 
Questions connexes