Android - 从内部存储公用文件夹中读取文件

时间:2013-11-19 07:00:00

标签: android

在我的应用程序中我正在制作android,我想添加数据库导入功能。为此,我已经设计了从web(MySql数据库通过php脚本)导入和从外部存储导入(通过CSV文件)。

现在我想添加从内部存储器导入CSV的选项(对于谁没有任何外部存储器)。那么,请你指点一下:

1)是否建议添加该选项? 2)如果是,那么如何从内部存储中的公共文件夹中读取文件? 3)我应该针对哪个文件夹?或者我应该将数据文件夹用于我的应用程序?

此外,这方面的任何其他建议都非常受欢迎。

1 个答案:

答案 0 :(得分:1)

要从内部存储中读取数据,您需要使用app文件夹并从此处阅读内容:

File yourFile = new File(context.getFilesDir() + "/" + "File_Name.extension");
FileInputStream fis = null;
        try {
            fis = new FileInputStream(yourFile);
            InputStreamReader isr = new InputStreamReader(fis);
            BufferedReader bufferedReader = new BufferedReader(isr);
            StringBuilder sb = new StringBuilder();
            String line;
            while ((line = bufferedReader.readLine()) != null) {
                sb.append(line);
            }
            return sb.toString();
        } catch (IOException e) {
            e.printStackTrace();
            return "";
        }

您也可以使用这种方法:

FileInputStream fis = context.openFileInput("hello.txt", Context.MODE_PRIVATE);
   InputStreamReader isr = new InputStreamReader(fis);
   BufferedReader bufferedReader = new BufferedReader(isr);
   StringBuilder sb = new StringBuilder();
   String line;
   while ((line = bufferedReader.readLine()) != null) {
       sb.append(line);
   }