android 文件的读写--调用android自带的文件管理器选择文本文件读写从操作
其中调用文件管理器获取文件路径的代码:
private void chooseFile() {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("*/*");
intent.addCategory(Intent.CATEGORY_OPENABLE);
try {
startActivityForResult(Intent.createChooser(intent, "选择文件"), FILE_SELECT_CODE);
} catch (android.content.ActivityNotFoundException ex) {
Toast.makeText(this, "没有文件管理器,请安装", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
if (resultCode != Activity.RESULT_OK) {
Log.e(TAG, "onActivityResult() error, resultCode: " + resultCode);
super.onActivityResult(requestCode, resultCode, data);
return;
}
if (requestCode == FILE_SELECT_CODE) {
Uri uri = data.getData();
openFile=uri.getPath();
Log.i(TAG,"-------->"+uri.toString());
Log.i(TAG, "------->" + uri.getPath());
originalContent = FileOperation.read(openFile);
originalText.setText(originalContent);
}
super.onActivityResult(requestCode, resultCode, data);
}
读取文本代码:
public static String read(String fileName){
String path = fileName;
String content = "";
File file = new File(path);
if (file.isDirectory())
{
Log.d("TestFile", "The File doesn't not exist.");
}
else
{
try {
InputStream instream = new FileInputStream(file);
if (instream != null)
{
InputStreamReader inputreader = new InputStreamReader(instream);
BufferedReader buffreader = new BufferedReader(inputreader);
String line;
while (( line = buffreader.readLine()) != null) {
content += line + "\n";
}
instream.close();
}
}
catch (FileNotFoundException e)
{
Log.d("TestFile", "The File doesn't not exist.");
}
catch (IOException e)
{
Log.d("TestFile", e.getMessage());
}
}
return content;
}
输出返回的URL.getPaht();url.toString() 发现路径皆不正常不知道哪里错了

相关推荐
安卓文件管理器开发完整源码与实战解析
现代移动设备中,用户对数据的掌控需求日益增强,文件管理器作为连接用户与系统存储的核心工具,承担着浏览、操作、组织本地及外部存储文件的重要职责。本章将深入剖析安卓文件管理器的基本定位与核心功能体系,涵盖文件浏览、增删改查、权限控制、媒体访问、异步加载、UI渲染等关键模块。通过解析典型应用场景——如文档管理、图片预览、文件传输与历史记录保存,揭示其背后的技术逻辑与用户体验设计原则。graph TDA[文件浏览] --> B[目录树结构]A --> C[列表/网格展示]
已解决:安卓8.0读取文件问题。包含intent调用文件管理器得到选定文件的路径,通过获取的文件路径得到SD卡内文本文件数据的读取方法
本文为记录毕业设计部分出现的问题,作为总结 近期在写毕业设计的时候,需要实现从安卓8.0的手机内置存储卡读取文本文件的数据内容,但在开始的时候一直抛出FileNotFoundException,显示找不到文件。 先贴出我读取文件的方法: //--------------------------------------- //设置打开文件监听器,调用intent打开系统文件管理得到...
雷电模拟器装Magisk后,自带的文件管理器为啥打不开/data了?用MT管理器一招搞定
本文详细解析了雷电模拟器安装Magisk后自带文件管理器无法访问/data和/system目录的问题原因,并提供了使用MT管理器的解决方案。通过标准权限请求和Magisk兼容性设计,MT管理器能有效解决权限问题,帮助用户顺利访问系统目录。
模拟器安装面具之后,文件管理器无法访问/system和/data解决方案
安卓模拟器装Magisk后,自带文件管理器无法授权root访问/data和/system。原因是定制版管理器无法响应Magisk权限。解决方案是安装MT管理器并授权,或设置system可读写。面具不影响adb读取,问题多因操作不当。
Android文件管理器完整Demo项目实战
随着Android系统版本的不断演进,文件管理功能在应用开发中愈发重要。受限于存储权限的频繁变更(如Scoped Storage的引入),开发者面临更多兼容性挑战。一个完整的文件管理器Demo不仅能帮助开发者深入理解Android存储机制与权限控制,还可作为实际项目中的技术验证原型。本章将引出该Demo的开发意义,并为后续章节的技术实现奠定基础。Android 的存储系统可以分为内部存储(Internal Storage)和外部存储(External Storage)两大类。


