Android 创建文件夹,文件的一些注意细节

创建文件,首先要添加权限,分别是

 <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />        创建与删除文件权限

 

 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />   写入权限

 

然后就是需要先判断SD卡是否插入。

 

之后就先看看你写的路径是否正确 。

 

如果是创建文件夹,那么后面有没有"/"都是可以创建的。调用File.mkdirs()方法来创建文件夹,它还会把上级的不存在的文件夹也创建出来.

 

而创建文件,是调用File.createNewFile()方法来创建文件。记住,创建文件要保证该文件所在的文件夹也存在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,先简单介绍一下文件管理器的功能: 文件管理器是一款可以浏览、查看、复制、移动、重命名、删除等操作文件的应用程序。在Android平台上,可以通过系统提供的File类来实现对文件的操作。下面是一个简单的文件管理器的实现: 1.创建一个新的Android项目,命名为FileExplorer。 2.在布局文件中添加一个ListView控件: ``` <ListView android:id="@+id/list_view" android:layout_width="match_parent" android:layout_height="match_parent"/> ``` 3.在MainActivity中获取ListView控件并设置适配器: ``` public class MainActivity extends AppCompatActivity { private ListView listView; private ArrayAdapter<String> adapter; private File currentDir; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView = findViewById(R.id.list_view); adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1); listView.setAdapter(adapter); currentDir = Environment.getExternalStorageDirectory(); refreshFileList(currentDir); } private void refreshFileList(File file) { currentDir = file; setTitle(currentDir.getAbsolutePath()); File[] files = currentDir.listFiles(); if (files != null) { adapter.clear(); for (File f : files) { adapter.add(f.getName()); } } } } ``` 4.在ListView中添加item的点击事件,点击文件夹进入下一级目录,点击文件打开文件: ``` listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { String fileName = adapter.getItem(position); File file = new File(currentDir, fileName); if (file.isDirectory()) { refreshFileList(file); } else { openFile(file); } } }); private void openFile(File file) { Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); Uri uri = FileProvider.getUriForFile(this, BuildConfig.APPLICATION_ID + ".fileprovider", file); String mimeType = getMimeType(file); intent.setDataAndType(uri, mimeType); intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); Intent chooser = Intent.createChooser(intent, "Open File"); startActivity(chooser); } private String getMimeType(File file) { String extension = MimeTypeMap.getFileExtensionFromUrl(file.getAbsolutePath()); return MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension); } ``` 5.在AndroidManifest.xml中添加FileProvider: ``` <application> ... <provider android:name="androidx.core.content.FileProvider" android:authorities="${applicationId}.fileprovider" android:exported="false" android:grantUriPermissions="true"> <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/provider_paths"/> </provider> </application> ``` 6.在res/xml目录下创建provider_paths文件,指定共享哪些目录: ``` <paths xmlns:android="http://schemas.android.com/apk/res/android"> <external-path name="external_files" path="."/> </paths> ``` 到这里,一个简单的文件管理器就完成了。当然,还有很多细节需要处理,比如权限申请、文件复制、移动、重命名、删除等操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值