2016-07-02 2 views
0
mFileId = (DriveId) data.getParcelableExtra(
      OpenFileActivityBuilder.EXTRA_RESPONSE_DRIVE_ID); 
Log.e("file id", mFileId.getResourceId() + ""); 
DriveFile file = mFileId.asDriveFile(); 
try { 
    results = file.open(mGoogleApiClient, DriveFile.MODE_READ_ONLY, null).await();//this is to return a driveContent object 

DriveContents contents = results.getDriveContents(); 

これは、そのファイルが読み取り専用モードでオープンする必要があるとき、それが与えるエラーですが、ファイルが既に読み取り専用モードで開かれているエラーながら

InputStream in = contents.getInputStream();

+0

は(results.getParcelFileDescriptorを使用してみてください)と入力し、自分のストリームを作成。 – Anatoli

答えて

0

java.io.File.setReadOnly()を使用してファイルを読み取り専用に設定してください。また、ファイルが作成されているか、最初に存在するかどうかを確認してから、読み取り専用フラグを設定します。

File file = new File("C:/path/file.txt"); 
    if (file.exists()) { 
     file.setReadOnly(); 
    } else { 
     System.out.println("File does not exists."); 
    } 

これらの関連スレッドをチェックして、ドキュメントからこのexample

+0

ドライブからそのIDを取得したため、このファイルが終了するため、この問題は解決しません –