Java检查字符串是否为有效文件

Java检查字符串是否为有效文件,java,Java,我想检查字符串是否是有效的文件模式,我想要的是: 如果string=“/abc/def/apple.xml”则返回TRUE 如果string=“/abc/def/”则返回FALSE 如果string=“/abc/def”则返回FALSE 我的代码: String filepath = "/abc/def/apple.xml"; File f = new File(filepath); if(f.isFile() && !f.isDirectory()) return true

我想检查字符串是否是有效的文件模式,我想要的是:

如果
string=“/abc/def/apple.xml”
返回TRUE

如果
string=“/abc/def/”
返回FALSE

如果
string=“/abc/def”
返回FALSE

我的代码:

String filepath = "/abc/def/apple.xml";
File f = new File(filepath);

if(f.isFile() && !f.isDirectory())
 return true;
else
  return false;

在我的代码中,我将字符串设置为
/abc/def/apple.xml
/abc/def/
,两者都返回
false
,但不确定为什么如果您能够使用Java 7(或更好的版本),您可以使用新的IO。Oracle提供了一个关于这方面的教程:


如果您能够使用Java 7(或更好),您可以使用新的IO。Oracle提供了一个关于这方面的教程:

您应该尝试以下方法:

String filePath = "yourPath/file.txt"; 
Path path = Paths.get(filePath);
System.out.println(Files.exists(path, LinkOption.NOFOLLOW_LINKS));
你应该试试这个:

String filePath = "yourPath/file.txt"; 
Path path = Paths.get(filePath);
System.out.println(Files.exists(path, LinkOption.NOFOLLOW_LINKS));

如果您非常确定文件路径包含.xml,那么您也可以用这种方式完成任务

String path="abc/bcd/efg.xml";
boolean temp=path.endsWith(".xml") ;

如果您非常确定文件路径包含.xml,那么您也可以用这种方式完成任务

String path="abc/bcd/efg.xml";
boolean temp=path.endsWith(".xml") ;

我也尝试了if(f.exists()&&&!f.isDirectory()),但不起作用。文件位于何处?是否要检查所提到的文件是否存在于给定位置,还是要检查字符串,看看它是否像文件名?实际上,此文件路径是存储在数据库中的字符串,我只想在继续之前验证字符串。@user3172596您不在乎文件是否存在,只是看起来像文件路径吗?我也尝试了if(f.exists()&&!f.isDirectory()),文件位于何处?是否要检查所述文件是否存在于给定位置,或者是否要检查字符串并查看其是否与文件名类似?实际上,此文件路径是存储在数据库中的字符串,我只想在继续之前验证字符串。@user3172596您不在乎文件是否存在,只是看起来像文件路径吗?