我从服务器下载pdf文件并将其保存在没有扩展名的SD卡上(出于安全目的,以便普通用户无法从文件管理器打开该文件)。例如 - 我正在下载abc.pdf
和将其保存在SD卡上,abc
位于路径下方
String extStorageDirectory = Environment.getExternalStorageDirectory().toString();
File folder = new File(extStorageDirectory, "files");
后来我想通过添加扩展名来查看该文件。 因此,当我使用下面的代码从代码访问该文件时,它提供的错误文件不存在..
String s=Environment.getExternalStorageDirectory() + "/files/" + "abc";
File pdfFile = new File(s+".pdf");
那么如何在没有扩展名的情况下将文件保存在SD卡中,然后以扩展名打开该文件。
答案 0 :(得分:0)
您的问题的解决方法是重命名您保存的pdf文件,而不扩展名为 .pdf 扩展名&在再次完成/访问新pdf扩展文件上的查看或读取操作后,您可以将其重命名为不带扩展名的文件
示例用法:
String currentFileName = Environment.getExternalStorageDirectory() + File.separator
+ "files" + File.separator + "abc";
String renamedFilename = currentFileName + ".pdf";
boolean isRenamed = renameFile(currentFileName, renamedFilename);
Log.d("isRenamed: ", "" + isRenamed);
if(isRenamed {
//perform your operation
}
如果没有使用,请再次重命名该文件(此处交换renameFile()参数):
boolean renameAfterOperation = renameFile(renamedFilename, currentFileName);
Log.d("renameAfterOperation : ", "" + renameAfterOperation );
这里是 renameFile(currentFilePath,renamedFilePath):
public boolean renameFile(String currentFilePath, String renamedFilePath){
File currentFile = new File(currentFilePath);
File newFile = new File(renamedFilePath);
boolean isrenamed = currentFile.renameTo(newFile);
return isrenamed;
}
这样,只要您想对保存的文件执行操作,首先将其重命名为.pdf&无论什么时候不使用,再次将其重命名为无扩展名。如果这对您有用,请告诉我..