2017-07-13 9 views
0

私はこれを実現させようとしてきましたが、どこかがつまずきました。Androidファイルシステム

ここにすべてのものの主要な情報源があります。そしてlogcatの結果...いくつかは少し冗長です。私が取得しようとしている私は、上記のonCreate「startingDirectory」を持っているので、私はプライベート...

String startingDirectory = Environment.getExternalStorageDirectory().getAbsolutePath(); 
    String directory = startingDirectory; 
    if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED) == false) { 
     Log.d(TAG, "Media is not mounted."); 
    } else { 
     Log.d(TAG, "Loading File Directory."); 
     Log.d(TAG, "Directory listing for " + directory); 
     File path = new File(directory); 
     //File path = new File(directory); 
     if (path.isDirectory()) { 
      if (path.canRead()) { 
       Log.d(TAG, "Readable directory"); 
      } else { 
       Log.d(TAG, "Non-readable directory"); 
       if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { 
        Log.d(TAG, "Media is mounted"); 
       } else { 
        Log.d(TAG, "Media is not mounted"); 
       } 

      } 
     } else { 
      Log.d(TAG, "Is not a directory."); 
     } 
    } 

そして、ここでは全部のlogcatでコピーして削除... 07-13 01:13:45.705 4361-4361/? D/MainActivity: Loading File Directory. 07-13 01:13:45.705 4361-4361/? D/MainActivity: Directory listing for /storage/emulated/0 07-13 01:13:45.705 4361-4361/? D/MainActivity: Non-readable directory 07-13 01:13:45.706 4361-4361/? D/MainActivity: Media is mounted

現在のディレクトリ(staringDirectory)のディレクトリ構造とクラスに配置...しかし、それは非可読で残っていないようです

+0

ファイルのパーミッションを追加していませんでしたが、マニフェストで許可されていました。 Androidが大好き! あなたのお手伝いを+1しました – OdieusG

答えて

0

これはjava.io.FileクラスのsetWritableとsetReadableメソッドを使用して私のpermitFileAcessメソッドですファイルとディレクトリのアクセス許可を変更するたびに。 まあ、私はまだメッセージを持っていますが、ファイル操作の前にそれを使用するを作成する場合には、だから、私にとって

public static void permitFileAcess(final File file) { 
     if (!file.setWritable(true, true)) { 
      log.e(new Object[] { "Could not set Writable permissions" }); 
     } 
     if (!file.setReadable(true, true)) { 
      log.e(new Object[] { "Could not set Readable permissions" }); 
     } 
     if (!file.setExecutable(true, true)) { 
      log.e(new Object[] { "Could not set Executable permissions" }); 
     } 
    } 

に動作します。

private static boolean createFile(File parent, String fileName, boolean createDir) { 
     boolean returnValue = false; 
     if (parent.isDirectory()) { 
      File newFile = new File(parent.getAbsolutePath(), fileName); 
      permitFileAcess(newFile); 
      if (createDir) { 
       returnValue = newFile.mkdir(); 
      } else { 
       try { 
        returnValue = newFile.createNewFile(); 
       } catch (IOException e) { 
        e.printStackTrace(); 
       } 
      } 
     } 
     return returnValue; 
    } 

幸運。

0

特定のディレクトリ内のすべてのファイルとディレクトリを取得しようとしています。単純なファイルファイルマネージャを作成する。ファイルを見ないと、どのファイルを読み込むのか分かりません。

関連する問題