2015-05-22 57 views
0

我正在從服務器下載PDF文件並將其保存在SD卡上,但沒有擴展名(出於安全目的,所以普通用戶無法從文件管理器打開該文件)。對於EG-我下載abc.pdfabc以下路徑將其保存在SD卡上將文件保存在沒有擴展名的SD卡中,並使用擴展名訪問

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

是的,我可以隱藏該文件夾,但在某些文件管理器用戶可以通過選擇顯示隱藏文件夾選項打開該隱藏文件夾 –

+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 &,只要它不被使用,再次將其重命名爲不帶擴展名。讓我知道這是否適合你..