unix find命令在根目录下查文件夹
准确来说NDK搞的C/C++代码也并非纯纯的C/C++代码,即使现在NDK的库已经支持可以一句JAVA也不写就能跑起来,这些程序还是受 JVM的管理的,所以也不用太在意什么C调JAVA的事情了。
关键性的代码贴上分享下:
void
android_main(struct android_app* state)
{
struct stOsContextEngine engine;
// Make sure glue isn't stripped.
app_dummy();
memset(&engine, 0, sizeof(engine));
state->userData = &engine;
state->onAppCmd = engine_handle_cmd;
state->onInputEvent = engine_handle_input;
engine.m_app = state;
// Prepare to monitor accelerometer
engine.m_sensorManager = ASensorManager_getInstance();
engine.m_accelerometerSensor = ASensorManager_getDefaultSensor(
engine.m_sensorManager, ASENSOR_TYPE_ACCELEROMETER);
engine.m_sensorEventQueue = ASensorManager_createEventQueue(
engine.m_sensorManager, state->looper, LOOPER_ID_USER, NULL, NULL);
// 获取AAssetManager,这个类其实是调用JAVA的类,这里通过NDK入口的传入参数获取。作用是管理资源文件的
AAssetManager* pAssetManager = state->activity->assetManager;
HResult hres = CPeckerFileIOBase::SetPrivateAPKManager(pAssetManager);
__android_log_print(LOGINFO_INFO, "android_main", "CPeckerFileIOBase::SetPrivateAPKManager result = %d",hres);
// 获取ANativeActivity,这个类其实也是调用JAVA的类,这里通过NDK入口的传入参数获取。作用是窗口Activity的
ANativeActivity* pActivity = state->activity;
// 通过Activity里面getPackageCodePath的方法获取程序运行路径,通过JNI用C++搞JAVA
JNIEnv* env = pActivity->env;
jclass clazz = env->GetObjectClass(pActivity->clazz);
jmethodID methodID = env->GetMethodID(clazz, "getPackageCodePath", "()Ljava/lang/String;");
jobject result = env->CallObjectMethod(pActivity->clazz, methodID);
ConstStringChars strPath;
jboolean isCopy;
strPath.m_pStrBuf = env->GetStringUTFChars((jstring)result, &isCopy);
strPath.m_nStrLen = env->GetStringLength((jstring)result);
__android_log_print(LOGINFO_INFO, "android_main", "Code Path =%d %s",strPath.m_nStrLen,strPath.m_pStrBuf);
CPeckerFileIOBase::SetInstallFilePath(strPath);
// 记得搞完后要清理下哦
env->ReleaseStringUTFChars((jstring)result,strPath.m_pStrBuf);
尊敬的三星用户,您好! 根据您的描述,建议您尝试操作: 程序-我的文件-所有文件-sdcard/extsdcard-右上角新建文件夹 欢迎您访问三星电子官网了解更多内容:http://support.samsung.com.cn 希望可以帮助到您,祝您愉快!
加个|通道符就可以了
==
脚本解释:用find ./ 可列出当前文件夹下所有
==
find ./
结果
./
./a
./a/b
./a/b/c
./a/b/c/SB6D2003A0
./a/b/c/PA4D1712A0
./a/b/c/PA4C1559A0
./a/b/c/SB8E0768A0
./a/b/c/PB6D1881A0
./a/b/c/SB6D1524A0
./a/b/c/SB6E1651A0
find ./|grep 1524
结果:
./a/b/c/SB6D1524A0
Unix 查找文件可以使用“find”命令。
find命令用
man find 不就可以看看它的用法了,另外
加上正则表达式 应该就可以了!
========================================
你可以给出你想要实现的完整功能,比如 你要Copy的文件 名字规则?其中的文件是怎么分配到10多个目录中的?
比如:文件有 a1234.bat, b1234.bat, c1234.bat 都放到文件夹名中唯一编码是1234的文件夹中。
这样可以把脚本写的更实用,如果你只是用 find 找到一个文件夹,再去手动Copy一个个的文件,那根本不用写脚本
find / -name "*1526*" -type d
呼震波立: find / -name "*1526*" -type d
遵义市13960635400: 想在unix的根目录开始检索某个文件,想知道那个文件在哪个路径下面,求命令?find?grep? - ?
呼震波立: 进入根目录 find . -name filename
遵义市13960635400: unix 查找文件命令 - ?
呼震波立: dir 显示目录下所有文件的命令 cat 编辑文本 adduser 添加用户 telnet ping ftp netstat 查看网络状况的命令
遵义市13960635400: Unix文件系统如何查找文件 - ?
呼震波立: Unix/Linux使用Find命令查找文件方法如下: 寻找空的目录: find /path -depth -type d -empty www.2cto.com 寻找空文件: find /path -depth -type f -empty 根据名字查找文件: find /path -name name_of_file 根据扩展名查找文件: find /path...
遵义市13960635400: 如何使用find命令查找文件? - ?
呼震波立: 1.按照文件名查找 (1)find / -name httpd.conf#在根目录下查找文件httpd.conf,表示在整个硬盘查找 (2)find /etc -name httpd.conf#在/etc目录下文件httpd.conf (3)find /etc -name '*srm*'#使用通配符*(0或者任意多个).表示在/etc目录...
遵义市13960635400: Unix命令:查找当前目录及子目录中文件名包含log的全部文件. - ?
呼震波立: 两种方法 方法1$ find . -name *log* 方法2$ find . | grep log 注:方法2是利用了find . 这个命令会把当前目录及子目录下所有的文件列出来的特性,通过重定向给grep进程,过滤出带有log文字的文件条目.
遵义市13960635400: linux 如何查找当前目录下最大的文件夹 - ?
呼震波立: 1,使用ls可以查看当前文件夹得所有文件,ls -l 可以显示文件的详细信息.2,使用find命令可以在指定的目录下查找指定的文件: 例如 find . -name ".log" 指在当前目录下按文件的名称查找带.log的文件.find其他参数还有很多:-perm 按...
遵义市13960635400: unix 如何查找目录 - ?
呼震波立: 问一句,unix有find命令吗?有的话你试试这个命令 find / -type d -name
遵义市13960635400: unix中的find指令怎么用啊?
呼震波立: find--------------------------------------------------------------------------------功能说明:查找文件或目录.语 法:find [目录...][-amin <分钟>][-anewer <参考文件或目录>][-atime <24小时数>][-cmin <分钟>][-cnewer <参考文件或目录>...
遵义市13960635400: unix下如何查找文件 - ?
呼震波立: find / -name mk/表示查找目录,也可以具体到某个目录以提高效率-name表示以文件名查找