2016-04-12 11 views
-1
package com.example.snow.unitools; 

import android.os.Environment; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.util.Log; 
import android.widget.ArrayAdapter; 
import android.widget.LinearLayout; 
import android.widget.ListView; 
import java.io.BufferedReader; 
import java.io.File; 
import java.io.FileInputStream; 
import java.io.InputStreamReader; 
import java.util.ArrayList; 
import java.util.List; 

public class savedFile extends AppCompatActivity { 
    ListView listView; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_saved_file); 

     listView = (ListView) findViewById(R.id.listView); 

     try { 

      String filePath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/storage/emulated/0/Notes/"; 
      BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(filePath))); 

      String line; 
      ArrayList<String> lines = new ArrayList<>(); 
      while ((line = br.readLine()) != null) { 
       lines.add(line); 
      } 

      ArrayAdapter<String> adapter = new ArrayAdapter<>(this,android.R.layout.simple_list_item_1,lines); 
      listView.setAdapter(adapter); 
      br.close(); 



     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 
} 

これまでのところ、リストビューには何も返されませんでした。/Notesフォルダーにファイルがあります。 私も試したことがあります..アンドロイドスタジオのリストビューにファイル名を追加するにはどうすればいいですか?

String filePath = Environment.getExternalStorageDirectory().getAbsolutePath() + "Notes/"; 

でも、何も返されません。ファイル名を取得するためにこれに追加できるものはありますか?ありがとう。

+0

'Environment.getExternalStorageDirectory()'の代わりに 'getExternalFilesDir()'を使用すべきではないですか?それらは2つの異なるフォルダです。最初は外部ストレージ上のアプリケーションのファイルのファイルの場所、もう1つは(すべて使用している)共有されているファイルの場所です。 – NoChinDeluxe

+0

getExternalFilesDir()はオプションとして表示されませんか? – ImbecileBand

+0

'AppCompatActivity'を使っているなら、' File file = getExternalFilesDir(null); '行はファイルを返すべきです。 – NoChinDeluxe

答えて

0

あなたが試すことができます。この

private File mFileTemp; 

    String state = Environment.getExternalStorageState(); 

    if (Environment.MEDIA_MOUNTED.equals(state)) { 
     //seperator means "/" 
     //this is going for Notes/anynote/filename.jpg 
     mFileTemp = new File(Environment.getExternalStorageDirectory() + File.separator + "Notes" + File.separator + "anynote" + 
       File.separator + ,"filename"+".jpg"); 
     mFileTemp.getParentFile().mkdirs(); 
    } else { 
     //this is same of up but dont forget you can create any file too and get its path 
     //this code will create a file in Notes/Created/newnote.txt 
     mFileTemp = new File(getFilesDir() + File.separator + "Notes"+ 
       File.separator + "Created"+ File.separator + ,"newnote" + ".txt"); 
     mFileTemp.getParentFile().mkdirs(); 
    } 

ときたいの使用ファイル・パス

mFileTemp.getPath(); 
0

ちょうどそのコードを使用したディレクトリ内のファイル名が必要な場合:

File notes = new File(filePath); //getting the notes dir 
ArrayList<String> lines = new ArrayList<>(); 

for (File file : notes.listFiles()) { //iterating the files in the dir 
    lines.add(file.getName()); 
} 
関連する問題