android studio java路径,java - AndroidStudio找不到CSV文件。 尝试了绝对文件路径和相对文件路径 - 堆栈内存溢出...

我如何将Android Studio用于文件是将文件放置在原始文件夹中,然后将其推送到/ data / data / yourapplication / files目录。 我通过Tools / Android / Android设备监控器执行此操作,并导航到/ data / data / yourapplication / files目录,然后在右上角选择一个图标“将文件推送到设备上”,然后导航至中的原始文件我的应用程序,然后选择要放在/ files目录中的csv文件。 从那时起,我将流读取器瞄准该目录,在我的情况下为/data/data/app/com.android/example/darrell/MenuPlanner/files目录。 此处寻址的文件使用文件扩展名,不需要指定的路径:

public List ReadEntreesFromFilesDir(Context inContext) {

this.mContext = inContext;

List lines = new ArrayList();

String[] separated;

try {

FileInputStream fis = mContext.openFileInput("entrees.csv");

InputStreamReader isr = new InputStreamReader(fis);

BufferedReader bufferedReader = new BufferedReader(isr);

while ((mLine = bufferedReader.readLine()) != null) {

if (mLine == null) break;

lines.add(mLine);

}

fis.close();

isr.close();

} catch (FileNotFoundException e) {

Log.d("FILE ERROR", e.getMessage() + " not found");

} catch (IOException ioe) {

Log.d("FILE ERROR", ioe.getMessage());

}

for (int x = 0;x

separated = lines.get(x).split(",");

EntreeData thisEntree = new EntreeData();

thisEntree.setEntreeName(separated[0].trim());

thisEntree.setCategory(separated[1].trim());

thisEntree.setSubcategory(separated[2].trim());

thisEntree.setRecipe(separated[3].trim());

mEntreeList.add(thisEntree);

}

return mEntreeList;

}

作为后备,我从/ res / raw目录读取这是不可写的,并且可以保证文件的完整性。 此处的文件不使用扩展名,因此将流阅读器指向文件而不使用扩展名。 还可以使用资产管理器访问以下文件:

public List ReadEntreesFileFromRaw(Context inContext) {

this.mContext = inContext;

List lines = new ArrayList();

String[] separated;

AssetManager assetManager = mContext.getAssets();

try {

InputStream inputStream = mContext.getResources().openRawResource(R.raw.entrees);

BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));

int lineCount = 0;

while ((mLine = reader.readLine()) != null) {

separated = mLine.split(",");

EntreeData entreeEntry = new EntreeData();

if (mLine == null) break;

separated = mLine.split(",");

entreeEntry.setEntreeName(separated[0].trim());

entreeEntry.setCategory(separated[1].trim());

entreeEntry.setSubcategory(separated[2].trim());

entreeEntry.setRecipe(separated[3].trim());

mEntreeList.add(lineCount, entreeEntry);

lineCount++;

}

inputStream.close();

} catch (FileNotFoundException e) {

Log.d("FILE ERROR", e.getMessage() + " not found");

} catch (IOException ioe) {

Log.d("FILE ERROR", ioe.getMessage());

}

return mEntreeList;

}

祝您编程愉快!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值