我的应用需要获取现有文件进行处理。现在我有字符串格式的文件的路径,我怎样才能得到文件?难道是正确的做到这一点:Android获取文件使用路径(字符串格式)
File fileToSave = new File(dirOfTheFile);
这里dirOfTheFile是文件的路径。如果我以这种方式实现它,我会得到现有的文件还是系统会为我创建另一个文件?
我的应用需要获取现有文件进行处理。现在我有字符串格式的文件的路径,我怎样才能得到文件?难道是正确的做到这一点:Android获取文件使用路径(字符串格式)
File fileToSave = new File(dirOfTheFile);
这里dirOfTheFile是文件的路径。如果我以这种方式实现它,我会得到现有的文件还是系统会为我创建另一个文件?
这就是你想要做的。如果文件存在,你会得到它。否则,你会创建它。您可以通过调用fileToSave.exists()
来检查文件是否存在,如果不存在则采取适当的行动。
new
关键字在代码中创建一个File
对象,不一定是设备上的新文件。
如果您是dirOfFile,我会提醒您不要使用硬编码路径。例如,如果您正在访问外部存储,请拨打Environment.getExternalStorageDirectory()
而不是硬编码/ sdcard。
File
对象只是一个参考到一个文件(围绕文件路径的包装);创建一个新的File
对象实际上并不创建或读取该文件;要做到这一点,请使用FileInputStream来读取,要写入FileOutputStream,或使用各种文件帮助器方法(如exists()
,createNewFile()
等)来实际执行有关路径上的操作。请注意,正如其他人指出的那样,您应该使用系统提供的其中一个实用程序来定位内部或外部存储上的目录,具体取决于您希望文件的位置。
试试这个..
File fileToSave = new File(dirOfTheFile);
if(fileToSave.exists())
{
// the file exists. use it
} else {
// create file here
}
如果父文件夹不存在您可能需要调用fileToSave.getParentFile().mkdirs()
创建
你想要的父文件夹? –