如何从 sdcard 读取特定文件。我已经通过 DDMS 将文件推送到 sdcard 中,我试图通过这种方式读取它,但这给了我例外。谁能告诉我如何准确指向该文件?
我的代码是这样的。
String path = Environment.getExternalStorageDirectory().getAbsolutePath();
FileInputStream iStream = new FileInputStream(path);
如何从 sdcard 读取特定文件。我已经通过 DDMS 将文件推送到 sdcard 中,我试图通过这种方式读取它,但这给了我例外。谁能告诉我如何准确指向该文件?
我的代码是这样的。
String path = Environment.getExternalStorageDirectory().getAbsolutePath();
FileInputStream iStream = new FileInputStream(path);
您正在尝试读取目录...您需要的是文件!做这样的事情......然后,您可以根据需要读取文件。
File dir = Environment.getExternalStorageDirectory();
File yourFile = new File(dir, "path/to/the/file/inside/the/sdcard.ext");
要从外部存储读取任何文件(在我的情况下为 CSV),我们需要它的路径,一旦你有了路径,你就可以这样做......
void readFileData(String path) throws FileNotFoundException
{
String[] data;
File file = new File(path);
if (file.exists())
{
BufferedReader br = new BufferedReader(new FileReader(file));
try
{
String csvLine;
while ((csvLine = br.readLine()) != null)
{
data=csvLine.split(",");
try
{
Toast.makeText(getApplicationContext(),data[0]+" "+data[1],Toast.LENGTH_SHORT).show();
}
catch (Exception e)
{
Log.e("Problem",e.toString());
}
}
}
catch (IOException ex)
{
throw new RuntimeException("Error in reading CSV file: "+ex);
}
}
else
{
Toast.makeText(getApplicationContext(),"file not exists",Toast.LENGTH_SHORT).show();
}
}
/*
csv file data
17IT1,GOOGLE
17IT2,AMAZON
17IT3,FACEBOOK*/