@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() + " ";} }if (result.equals("")){result = "找不到文件!!";} return result; }首先,我们需要通过File.listFiles()方法获取文件夹下所有文件或者文件夹的名字,这里的文件夹的路径是"/",也就是根目录。然后我们再通过getPath()逐个获取它们的相对路径。
当然我们需要在根文件中添加权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>由于例子实在是太小了,整片文章的篇幅不长,所以特意在文章的后面列出所有的文件操作以供大家参考:
Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);这个在我之前做的东西中就非常有用,因为涉及到SDK的读取,自然就需要先判断SDK是否插入。
File skRoot = Environment.getExternalStorageDirectory();二.私有目录下的文件操作:
File fileRoot = Context.getFilesDir()+"";2.文件夹或文件夹操作:
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.isDirectory() File.isDirectory()(4)列出文件夹下的所有文件和文件夹名
File[] files = File.listFiles();(5)修改文件夹和文件名
File.renameTo(dest);(6)删除文件夹或文件
File.delete();以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。