导航:首页 > 操作系统 > android获取文件夹下的所有文件

android获取文件夹下的所有文件

发布时间:2023-05-30 23:08:21

A. android 请问怎样显示文件夹里面的文件夹或文件

点击文件夹或型,扒团老获取这个文件夹的路径,然后调用方法获取这个文件夹下的所有文件和文件夹,然后把这个文件夹下的所有文件和文件夹组织成List,然后把这个数据放到当前这个ListView的adapter里,刷新一春升下。就出来了 这是思路。

B. Android无root,获取其他应用内部存储的数据

最近在负责一个项目,需要获取其他应用的内部存储中的文件,即data/data/下的文件,并转存到sdcard上。有一点Android基础的都知道data/data/中的文件对其他应用是不可见的,在没有源码的条件下,无法直接访问data/data中的文件。问了公司的大佬,大佬提供了两种思路,一种是run-as命令进入data/data,直接;另一种是hook。具体怎么实施,且听我慢慢道来。

安装包是debug包(release包也可以利用反编译重新打包,变成debug包,网上有很多文章可以参考)

1、连接手机到电脑,打开usb调试

2、命令行中输入 adb shell run-as <包名>

示例:

com.ss.android.ugc.aweme(抖音)不是debug包,无法使用run-as命令。

com.example.yilialin.jsonreport(我自己写的app)是debug包,使用run-as命令可以进入data/data目录下,输入 ls ,可以看到data/data目录下的所有文件/文件夹

3、输入 cat <文件名> > <sdcard中的文件名>  ,直接拷贝到sdcard中

示例:

不出现任何提示,表明已经成功拷贝到了sdcard中。

几行命令直接搞定

1、需要手工敲命令,难以实现自动化

2、debug包才能使用

没有限制,安装包是release包或者debug包都可以,手机不需要root

有关于xposed插件可以参考文章:https://blog.csdn.net/yzzst/article/details/47659479

https://blog.csdn.net/niubitianping/article/details/52571438

https://blog.csdn.net/niubitianping/article/details/52574650

其实无root也是可以使用virtualxposed的,将xposed插件和想要hook的app克隆到virtualxposed中就可以使用了。

不受root权限和debug包的限制

前期需要做的事情多,xposed插件编写比较麻烦

我研究了几个星期的xposed hook,才学会了怎么使用,原理还不是特别明白,先用着吧==

听别人说再多也只是纸上谈兵,关键是要自己动手操作,有很多问题都是在实施的过程中出现并解决的,在问题中学习不失为一种好方法。

奉上我的xposed插件,供学习参考,有什么不对的地方,还望不吝赐教!

https://github.com/Yiliayan/douyinxposed.git

C. android 怎样遍历文件夹下的文件(文件夹下可能还有文件夹)

java代码:
import java.io.File;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class ShuosouwenjianActivity extends Activity implements OnClickListener {

private File file;
private String path;
private String info;
private String key; //关键字
private TextView result; // 显示结果
private EditText et; // 编辑view
private Button search_btn; // button view

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

result = (TextView)findViewById(R.id.TextView_Result);
et = (EditText)findViewById(R.id.key);
search_btn = (Button)findViewById(R.id.button_search);
// file = new File(Environment.getExternalStorageDirectory().getPath());
file = new File("/sdcard/");
info = getString(R.string.info);

search_btn.setOnClickListener(this);
}

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
path = "";
result.setText("");
key = et.getText().toString();
BrowserFile(file);
}

public void BrowserFile(File fileold) {
if (key.equals("")) {
Toast.makeText(this, getString(R.string.pleaseInput), Toast.LENGTH_LONG).show();
} else {
search(fileold);
if (result.getText().equals("")) {
Toast.makeText(this, getString(R.string.notFound), Toast.LENGTH_SHORT).show();
}
}
}

private void search(File fileold)
{
try{
File[] files=fileold.listFiles();
if(files.length>0)
{
for(int j=0;j<files.length;j++)
{
if(!files[j].isDirectory())
{
if(files[j].getName().indexOf(key)> -1)
{
path += "\n" + files[j].getPath();
result.setText(info+path);

//shuju.putString(files[j].getName().toString(),files[j].getPath().toString());
}
}
else{
this.search(files[j]);
}
}
}
}
catch(Exception e)
{

}
}
}

MAIN.XML代码:
<?xml version="1.0" encoding="utf-8"?>
< AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/widget0"
>

< Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button_search"
android:layout_x="253px"
android:layout_y="5px"
android:text="@string/toSearch"
/>
< EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/key"
android:text="821077962.db"

/>
<TextView
android:layout_width="fill_parent"
android:layout_height="370px"
android:id="@+id/TextView_Result"
android:layout_x="0px"
android:layout_y="60px"
/>
< /AbsoluteLayout>
strings.xml代码:
<?xml version="1.0" encoding="utf-8"?>
< resources>
< string name="hello">Hello World, Activity07!</string>
< string name="app_name">文件搜索</string>
< string name="toSearch">搜索</string>
< string name="info">系统SDCard目录文件路径:\n</string>
< string name="pleaseInput">请输入关键字!</string>
< string name="notFound">SD卡中没有相关文件!!</string>
< string name="pathError">读取路径出错!!</string>
< /resources>

D. 安卓开发怎么获取文件夹下面所有文件

这个是由于android中的安全机制的缘故,由于android继承了Linux系统的传统,对大歼于某个特定的目录有用户的权限,一共分为三种--可读,可写,可执行;虽然说可以设置某胡族个特定的目录的权限,但是对于目录里面的子目录和子文件都可以进行权限的设置,也就是说出了根目录权限之外,子目录本身的权限也决定了子目录可否访问,这一点裤仿弊需要清楚了解,所以在判断完了是否是目录之外,还需要在进行listFiles()获取File[]数据后判断获取的数组是否为空,如果为空的话,文件夹是不可访问的。

E. Android如何获取asset目录下所有文件的路径

package com.hangcheng.util;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import android.app.Activity;
import android.content.Context;
import android.content.res.AssetManager;

public class GetfilesFromAssets {
private Activity activity;
private String[] files;

public GetfilesFromAssets(Context context) {
this.activity = (Activity) context;

}

// public void deepFile(Context ctxDealFile, String path) {
// try {
// String str[] = ctxDealFile.getAssets().list(path);
// if (str.length > 0) {// 如果是目录
// File file = new File("/data/" + path);
// file.mkdirs();
// for (String string : str) {
// path = path + "/" + string;
// System.out.println("zhoulc:\t" + path);
// // textView.setText(textView.getText()+"\t"+path+"\t");
// deepFile(ctxDealFile, path);
// path = path.substring(0, path.lastIndexOf('/'));
// }
// } else {// 如果是文件
// InputStream is = ctxDealFile.getAssets().open(path);
// FileOutputStream fos = new FileOutputStream(new File("/data/"
// + path));
// byte[] buffer = new byte[1024];
// int count = 0;
// while (true) {
// count++;
// int len = is.read(buffer);
// if (len == -1) {
// break;
//敬穗腊 }
// fos.write(buffer, 0, len);
// }
// is.close();
// fos.close();
// }
// } catch (IOException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
//族搭 }
// }

public String[] getfileFromAssets(String path) {
AssetManager assetManager = activity.getAssets();
// String[] files;
try {
files = assetManager.list(path);
} catch (IOException e) {
//亮滑 TODO Auto-generated catch block
e.printStackTrace();
}

return files;

}

public List listHtmlOfAssets() {
List list = new ArrayList();
files = getfileFromAssets("html");
for (int i = 0; i < files.length; i++) {
HashMap map = new HashMap();
map.put("htmlname", files[i]);
list.add(map);
}
return list;
}
}

F. 安卓 文件夹目录整理

记录一下开发中遇到的一些目录。
在开发中会有内部存储器(Internal Storage)和外部存储器(External Storage)。

内部存储,路径:data/data/packageName/(此部分的根目录)。这个目录下的文件为应用私有的,其他的应用是无法访问的。同时此目录下的文件是会随应用的卸载而被删除。 读写此目录下的文件是不需要权限的。

- getDir(String name, int mode) 返回对应目录下的枝激File文件夹对象。
- getFilesDir() 返回根目录/files文件夹, Context.openFileInput() 和 Context.openFileOutput 都是这个文件夹。
- fileList() 返回的是files下的所有文件名
- deleteFile(String name) 删除files下指定名称的文件。
- getCacheDir() 该方法返回的是根目录/cache的File对象.当Android的内部猛轿袜存储容量过低时,android会自动清除缓存文件

外部储存,在此存储数据是不安全的。在这部分存储,个人可以分为两个部分来总结。

1.本应用相关目录
此部分路径为/storage/emulated/0/Android/data/packageName/。此目录下的文件会随软件的卸载而被删除。 在4.4之后读写此目录下的文件不需要权限 。但是这个目录下的文件可以被用户以及带有 WRITE_EXTERNAL_STORAGE 或 WRITE_EXTERNAL_STORAGE 权限的应用读取或修改。

- getExternalFilesDir(String type) 返回/storage/emulated/0/Android/data/packageName/files/type文件夹,若type为 null 则返回/storage/emulated/0/Android/data/packageName/files文件夹。
- getExternalCacheDir() 返回帆空/storage/emulated/0/Android/data/packageName/cache文件夹

2.外部自定义目录
除1以外的目录。读写这部分文件需要 WRITE_EXTERNAL_STORAGE 或 WRITE_EXTERNAL_STORAGE 权限, 6.0以上需要运行时权限。这部分文件是不会随应用被卸载而删除。

- Environment.getExternalStorageDirectory() 返回/storage/emulated/0文件。

G. android如何读取手机指定的某个文件夹下的所有图片的名称,语音名称

可以用java
IO读取图片文件,也可以用Android里面的mediastore先读取拦档该文件夹下的图片缩略图用ListView或者gridView等控件显示缩略图点击后显示详细图片等方法,为了防止oom推荐第二种方法,不过不氏衡瞎知道你那歼空是怎样的需求,MediaStore的用法你可以网上搜下,一大堆的。

H. android 如何批量获取raw文件夹中的文件

HER

阅读全文

与android获取文件夹下的所有文件相关的资料

热点内容
加密思维币 浏览:688
魅族访客文件夹 浏览:50
添加的文件夹怎么找 浏览:615
程序员涉黄 浏览:698
maven编译resources下的js 浏览:519
ubuntu文件移动命令 浏览:227
安卓i怎么查找苹果手机 浏览:949
云服务器宕机概率 浏览:231
在线买药用什么app知乎 浏览:813
ubuntu解压xz文件 浏览:674
宏杰加密时电脑关机 浏览:388
自己写单片机编译器 浏览:598
单片机按键闪烁 浏览:380
为什么icloud总是显连接服务器失败 浏览:888
如何设置域控服务器 浏览:740
想在上海租房子什么app好 浏览:186
编译程序各部分是必不可少的吗 浏览:887
编程不超过十行 浏览:765
数电编译器的作用 浏览:339
时间算法与现在有什么区别 浏览:164