android 判断文件是否为txt文本文件,不是通过后缀来判断

 我来答
huanglenzhi
2015-02-27 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
采纳数:117538 获赞数:517180
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。

向TA提问 私信TA
展开全部
  有时候,想实现以下功能:跳转到文件管理器,让用户选择一个文件,并获取用户选择的结果。

  跳转到文件管理器可以如下Intent跳转简单实现:

  //打开文件管理器
Intent i = new
Intent(Intent.ACTION_GET_CONTENT);
i.setType("file/*");
startActivity(i);

  为了获取用户选择的结果,最好是startActivityForResult()方法,以便在onActivityResult()中获取用户所选择的结果。

  假设当前的需求是让用户选择一张图片。

  Intent i = new Intent(Intent.ACTION_GET_CONTENT);

  i.setType("image/*");

  startActivityForResult(i, MY_REQUEST_CODE);

  此时会弹出对话框,询问要以什么方式来打开,一般可选项有图库(系统自带的,如果有的话)和文件管理器(如果有的话)。

  用户选择了一个文件后,会返回原Activity,在onActivityResult()方法里,可如下操作以判断文件类型。

  @Override
protected
void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode ==
PHOTO_REQUEST_CODE)//自定义的一个static final int常量
{
if(resultCode
== RESULT_OK)
{

  //得到文件的Uri
Uri
uri = data.getData();
ContentResolver
resolver = getContentResolver();

  //ContentResolver对象的getType方法可返回形如content://的Uri的类型

  //如果是一张图片,返回结果为image/jpeg或image/png等
String
fileType =
resolver.getType(uri);
if(fileType.startsWith("image"))//判断用户选择的是否为图片
{
//根据返回的uri获取图片路径
Cursor
cursor = resolver.query(uri,
new
String[]{MediaStore.Images.Media.DATA}, null, null, null);
cursor.moveToFirst();
String
path =
cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DATA));

//do
anything you want
}
}
}
}

  我在网上看到不少童鞋说,获取文件的路径,然后根据后缀名来判断是否为图片类型。我个人觉得这样比较繁琐而且不太靠谱,可能会漏掉一些图片后缀名的判断。

  所以我采用了上述的方法来判断图片的类型。其它文件类型可以类似操作。
fanlzt11
2015-12-14 · TA获得超过237个赞
知道答主
回答量:92
采纳率:100%
帮助的人:20.4万
展开全部
是的,最直接的方法,如果装了相关阅读软件,txt图标 是白本子有字态
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Coder小Q
2016-02-13 · TA获得超过657个赞
知道小有建树答主
回答量:353
采纳率:100%
帮助的人:143万
展开全部
File f =new File("TileTest.java");  
String fileName=f.getName();  
String prefix=fileName.substring(fileName.lastIndexOf(".")+1);  
System.out.println(prefix);  
File file =new File("Test.java");  
String fileName=file.getName();  
String[] token = fileName.split(".");  
String pf = token[1];
用File的getName()方法,获取到文件名后,用String的endsWith(".java")方法判断是否问指定文件类型。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f283622
2016-02-05 · 超过24用户采纳过TA的回答
知道答主
回答量:73
采纳率:100%
帮助的人:30.5万
展开全部
txt即文本文件,txt就是后缀,没有.txt为后缀的文件就不一定是txt文件(文本文件),但有.txt作为后缀的文件一定是txt文件(文本文件)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
纪想中的天堂
2015-02-27
知道答主
回答量:17
采纳率:0%
帮助的人:7.2万
展开全部
应该是的,我以前也是通过后缀来判断是图片还是其他的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式