A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© qq8921310 高级黑马   /  2014-11-2 19:23  /  1189 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

startsWith 值能判断文件不能判断文件夹吗?
我在写 FIlenameFilter 重写内部类的时候,用这个方法,判断文件夹的名字时候都是返回值都是false ,
但是判断文件就出现了true,为什么会出现这种情况。文件夹的名字也是字符串啊。

评分

参与人数 1黑马币 +1 收起 理由
杨佳名 + 1

查看全部评分

6 个回复

倒序浏览
这个问题我也不是很清楚,我们一起探讨哈。
首先说一下startsWith方法,这应该是String中的方法。 在操作文件时也就是用它来判断文件名前缀是什么,
至于lz说的能不能通过这个来判断是文件还是文件夹,那我就给你举个例子吧。
test.txt, lz你说这个名字是什么,是文本文件? 那我要是把文件夹的名字这么写呢。完全可以。
所以说明啊,用startsWith来通过文件名称判断是不是文件、文件夹,不准确。
回复 使用道具 举报
姜浩 发表于 2014-11-2 19:51
这个问题我也不是很清楚,我们一起探讨哈。
首先说一下startsWith方法,这应该是String中的方法。 在操作文 ...

我不是说用startWith来判断文件还是文件夹,只是奇怪为什么用着这个方法为什么会失败。
回复 使用道具 举报
FilenameFilter中的accept方法的两个参数,File dir是文件所在目录,String name是文件名。
如果想判断文件夹的名字,可以使用FileFilter来过滤。
回复 使用道具 举报
lz我还是没明白你的意思。
判断文件夹的名字时候都是返回值都是false ,但是判断文件就出现了true?
startsWith的判断和是不是文件没有关系。可以查看一下获取到的文件夹和文件的名字是否正确等等。
难道出现true的那个文件名,和你判断的不同?
  1.         String s1 = "test";
  2.                 String s2 = "test.txt";

  3.                 if (s1.startsWith("test"))
  4.                 {
  5.                         System.out.println(111);
  6.                 }
  7.                 if (s2.startsWith("test"))
  8.                 {
  9.                         System.out.println(222);
  10.                 }
复制代码

没有出现这样的情况。。。 不好意思帮不到你。
回复 使用道具 举报
startWith()貌似不能用来判断文件类型吧,对文件名应该有用,但是好像也有点不准确。
回复 使用道具 举报
郑飞 高级黑马 2014-11-3 07:13:28
7#
FilenameFilter不是只能过滤文件么
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马