2015-07-13 33 views
-2
List <String> ntfs = Arrays.asList("AUX","NUL","SOH","STX","ETX","EOT","ENQ","ACK","BEL", 
    "BS","HT","VT","LF","FF","NP","CR","SO","SI","DLE","DC1","DC2","DC3","DC4","NAK","SYN", 
      "ETB","CAN","EM","SUB","ESC","escape","FS","GS","RS","US","AUX", "CLOCK$", 
      "COM1","COM2","COM3","COM4","COM5","COM6","COM7","COM8","COM9" , "CON", 
      "LPT1","LPT2","LPT3","LPT4","LPT5","LPT6","LPT7","LPT8","LPT9", "NUL","PRN"); 

例如:如何看待我的文件名在java中包含的字符串?

String pathname="/path/AUX.txt"; 

所以我想看到的是,在路径中包含或不列表项,我该怎么办呢?非常感谢你!

+2

'String.contains()' – Dragondraikk

+0

包含(炭)... – kodaek99

回答

0

暂无评论:

public static boolean contains(List<String> ntfs,String pathname){ 
    for(String s:ntfs){ 
     if(pathname.contains(s)){ 
      return true; 
     } 
    } 
    return false; 
} 
+0

'路径= “/路径/ AUXasdasdasdasdasd.txt”;'那么什么将你的代码的回报? –

+0

true @ rakeb.void – maskacovnik

+0

叹息...................... –

1

使用List#contains()方法检查元素是否存在或不存在。

List<String> ntfs = Arrays.asList("AUX", "NUL", "SOH", "STX", "ETX", "EOT", "ENQ", "ACK", "BEL", "BS", "HT", "VT", "LF", "FF", "NP", "CR", "SO", "SI", "DLE", "DC1", "DC2", "DC3", "DC4", "NAK", "SYN", "ETB", "CAN", "EM", "SUB", "ESC", "escape", "FS", "GS", "RS", "US", "AUX", "CLOCK$", "COM1", "COM2", "COM3", "COM4", "COM5", "COM6", "COM7", "COM8", "COM9", "CON", "LPT1", "LPT2", "LPT3", "LPT4", "LPT5", "LPT6", "LPT7", "LPT8", "LPT9", "NUL", "PRN"); 
    String pathname = "/path/AUX.txt"; 
    // Take out the `AUX` part from `/path/AUX.txt` by string operations 
    if (ntfs.contains(pathname.substring(pathname.lastIndexOf("/") + 1, pathname.indexOf(".")))) { 
     System.out.println("PRESENT"); 
    } else { 
     System.out.println("ABSENT"); 
    } 
+0

好,清晰和短+1 – maskacovnik

+1

是的 - 是的大thx,:) – kodaek99

+1

请记住,它不处理所有情况。所以这个代码将启用NULL.txt。这实际上取决于你想达到什么目的,也许maskacovnik的解决方案会更好。 –

相关问题