无法读取android中的文件

时间:2011-09-09 08:57:28

标签: android filepath readfile

我在我的项目中使用此代码。我需要阅读我放在原始文件夹中的.xls。     ReadExcel test = new ReadExcel();

    test.setInputFile(BitmapFactory.decodeStream(getClass().getResourceAsStream(("/SPPDashProject/res/raw/aging_busket_key.xls"))).toString());
    try {
        test.read();
    } catch (IOException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();

}

public class ReadExcel {

    private String inputFile;

    public void setInputFile(String inputFile) {
        this.inputFile = inputFile;
    }

    public void read() throws IOException  {
        File inputWorkbook = new File(inputFile);
        Workbook w;
        try {
            w = Workbook.getWorkbook(inputWorkbook);
            // Get the first sheet
            Sheet sheet = w.getSheet(0);
            // Loop over first 10 column and lines

            for (int j = 0; j < sheet.getColumns(); j++) {
                for (int i = 0; i < sheet.getRows(); i++) {
                    Cell cell = sheet.getCell(j, i);
                    CellType type = cell.getType();
                    if (cell.getType() == CellType.LABEL) {
                        System.out.println("I got a label: "
                                + cell.getContents());
                    }

                    if (cell.getType() == CellType.NUMBER) {
                        System.out.println("I got a number "
                                + cell.getContents());
                    }

                }
            }
        } catch (BiffException e) {
            e.printStackTrace();
        }
    }


}

我应该给出什么路径,因为我的主要读取类采用字符串格式的路径.Plz建议

2 个答案:

答案 0 :(得分:1)

您可以使用以下代码:

    Uri uri=Uri.parse("android.resource://com.mypackage.myapp" + R.raw.MyXLS);
    String filePath=uri.getPath();

答案 1 :(得分:1)

您应该使用以下代码在/ res / raw中打开文件 getResources()。openRawResource(R.raw.yourfilename)
您可以将文件放在assets文件夹中,然后使用AssetManager来访问它。