-2

我有一个 CVS 文件。我希望我的 android 应用程序能够读取它并在 textview 中显示它。你能给我一个例子吗?

4

2 回答 2

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.
    } 
于 2012-12-04T19:11:45.100 回答
0

您可以使用扫描仪:

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

这是一个 2n 的过程,如果你想用 substring 到处乱搞,你可能会把它降到 n

这里是将它添加到 textview

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

您可以在 xml 中添加布局,也可以使用 setContentView(layout); 在代码本身中添加布局;

您也可以通过执行来使用布局参数

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

然后将它们用于您的布局

layout.setLayoutParams(params);

注意:所有这些代码都应该在活动代码文件中。

于 2012-12-04T17:49:48.597 回答