我有一个CSV文件。我希望我的Android应用程序读取它并在textview中显示它。 你能给我举个例子吗?
答案 0 :(得分:0)
您可以使用扫描仪:
Scanner scanner = new Scanner(new File("file.csv");
String s = "";
while(scanner.hasNextLine());
s+=scanner.nextLine();
String[] values = s.split(",");
这是一个2n进程,如果你想要使用子字符串,你可能会把它归结为n
这里是将它添加到textview
for(int i = 0; i < values.length; i++){
TextView t = new TextView(getApplicationContext());
t.setText(values[i]);
layout.addView(t);
}
您可以使用setContentView(layout)在xml或代码本身中添加布局;
您也可以通过
来使用布局参数 YourLayoutType.layoutParams params = new YourLayoutType.layoutParams(LayoutParams.whatLayoutTypeYouWant, LayoutParams.whatLayoutTypeYouWant); //(it goes width, height).
然后使用它们进行布局
layout.setLayoutParams(params);
注意:所有这些代码都应该在活动代码文件中。
答案 1 :(得分:0)
很久以前我已经制作了这些方法,因为Scanner不适合我:
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;
}
用法:
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.
}