如何获取对txt文件的引用并从中获取字符串

时间:2017-01-02 04:08:53

标签: java android

我有一些编程经验,但我没有使用android中的文本文件的经验。我正在使用android studio,并制作一个从文件中获取String的应用程序,然后显示它。

我做了我的研究,根据android.developer.com我需要使用FileReader,但我还是有一些问题:

1.我在哪个文件夹中放入.txt文件?

2.如何对FileReader文件进行.txt引用?

我搜索了这个网站和其他网站,有很多像我这样的问题,但没有人回答我的问题..

编辑: 有人可以给我整个代码/一步一步说明如何做到这一点。从哪里放置文件,到如何访问和创建一个字符串

2 个答案:

答案 0 :(得分:0)

我将文本文件放在哪个文件夹中?

嗯,这完全取决于你。您甚至可以创建一个并自定义文件树。请注意,根目录可能因设备而异,因此强烈建议您从Environment.getExternalStorageDirectory()

引用

例如,

File dir = new File(Environment.getExternalStorageDirectory()+"yourCustomFolder");
if(!dir.exists())
        fileDir.mkdirs();

通过这种方式,您可以在手机上看到该文件夹​​已创建。

有关详细信息,例如在自定义文件夹中创建文件,可以参考this answer。

答案 1 :(得分:0)

编译

compile group: 'org.apache.poi', name: 'poi', version: '3.0.1-FINAL'

以下是从 .xls 文件中读取文件的代码。 - 此代码段用于读取仅一个字段客户名称,您可以向其中添加更多单元格

 /**
 * Method to Import XLS file to Database
 *
 * @param uriFile
 */
private void importCsvFileToDatabase(Uri uriFile) {
    try {
        InputStream is = getContentResolver().openInputStream(uriFile);
        POIFSFileSystem myFileSystem = new POIFSFileSystem(is);
        HSSFWorkbook myWorkBook = new HSSFWorkbook(myFileSystem);
        HSSFSheet mySheet = myWorkBook.getSheetAt(0);
        Iterator rowIter = mySheet.rowIterator();
        boolean isFirstRow = true;
        int i = 1;

        while (rowIter.hasNext()) {
            HSSFRow rowhead = mySheet.getRow((short) i++);
            if (rowhead == null) {
                break;
            }
            String customerName = "";

            CustomerInfo customerInfodb = new CustomerInfo();
            try {
                customerName = rowhead.getCell((short) 0).toString();
                customerInfodb.setCustomerName(customerName);
            } catch (Exception e) {
                customerInfodb.setCustomerName("");
                Log.e("TAG", "err" + e.getMessage());
            }

                CustomerInfo.saveCustomerInfo(context, customerInfodb);

    } catch (Exception e) {
        Log.e("LOG", "err" + e.getMessage());
    }
}