Java中File类的getPath(), getAbsolutePath(),getCanonicalPath()区别
getPath()返回的是定义时的路径,即如果定义时的是相对路径,返回的就是相对路径;如果定义时的是绝对路径,返回的就是绝对路径。
getAbsolutePath()返回的是定义时的路径对应的绝对路径,但不会处理“.”和“..”的情况,其结果等于用户dir+ getPath()。
getCanonicalPath()返回的是规范化的绝对路径。
举例说明: 如果定义时的路径为..\\src\\test1.txt,则getPath()返回的结果是..\\src\\test1.txt,getAbsolutePath()返回的结果为F:\eclipseworkspace\testejb\..\src\test1.txt,getCanonicalPath()返回的结果是F:\eclipseworkspace\testejb\src\test1.txt\。
Android读写SD卡上的文件的步骤
1). 调用Environment的getExternalStorageState()方法判断手机上是否插入SD卡,并且应用程序具有读写SD卡的权限。例如使用如下代码:
Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)//如果返回值为true,则具有读写SD卡的能力。
2).调用Environment的getExternalStorageDirectory()方法获取外部存储器,即SD卡的目录。
3).使用FileInputStream、FileOutputStream、FileReader或FileWriter读写SD卡里的数据。
其中,