@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); EditText keywordText = (EditText)this.findViewById(R.id.keyword); Button button = (Button)this.findViewById(R.id.button); TextView result = (TextView)this.findViewById(R.id.result); button.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { String keyword = keywordText.getText().toString(); if (keyword.equals("")) { result.setText("請勿輸入空白的關鍵詞!!"); }else { result.setText(searchFile(keyword)); } } }); } private String searchFile(String keyword) { String result = ""; File[] files = new File("/").listFiles(); for (File file : files) { if (fike.getName().indexOf(keyword) >= 0) { result += file.getPath() + "\n"; } } if (result.equals("")){ result = "找不到文件!!"; } return result; }
一、判斷SD卡是否插入java
Environment.getExternalStorageState().equals(android
android.os.Environment.MEDIA_MOUNTED);ide
這個在我以前作的東西中就很是有用,由於涉及到SDK的讀取,天然就須要先判斷SDK是否插入。this
二、得到sd卡根目錄: spa
File skRoot = Environment.getExternalStorageDirectory();code
二.私有目錄下的文件操做:get
一、得到私有根目錄:it
File fileRoot = Context.getFilesDir()+"\";io
2.文件夾或文件夾操做:class
(1)得到文件夾和文件路徑
a.得到文件或文件夾的絕對路徑和相對路徑。區別
String path = File.getPath();//相對
String path = File.getAbsoultePath();//絕對
b.得到文件或文件夾的父目錄
String parentPath = File.getParent();
c.得到文件或文件夾的名稱:
String Name = File.getName();
(2)創建文件或文件夾
File.mkDir(); //創建文件夾
File.createNewFile();//創建文件
(3)判斷是文件或文件夾
File.isFile()
File.isDirectory()
(4)列出文件夾下的全部文件和文件夾名
File[] files = File.listFiles();
(5)修改文件夾和文件名
File.renameTo(dest);
(6)刪除文件夾或文件
File.delete();
須要在根文件中添加權限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>