2012-02-01 3 views
-1

Я написал код для чтения текстового файла с диска C, непосредственно заданного пути.Как получить файлы с именем файла, начиная с определенной буквы?

String fileName1 = "c:\\M2011001582.TXT"; 
BufferedReader is = new BufferedReader(new FileReader(fileName1)); 

Я хочу получить список файлов, имя файла которых начинается с M. Как я могу это достичь?

+1

Добавить контрольный файлName1.startsWith ("M"). –

ответ

6

«но как я могу написать код, файл является существовать в локальном диске или нет»

Чтобы отсканировать каталог для файлов, удовлетворяющих условию:

import java.io.File; 
import java.io.FilenameFilter; 

public class DirScan 
{ 
    public static void main(String[] args) 
    { 
     File root = new File("C:\\"); 
     FilenameFilter beginswithm = new FilenameFilter() 
     { 
     public boolean accept(File directory, String filename) { 
       return filename.startsWith("M"); 
      } 
     }; 

     File[] files = root.listFiles(beginswithm); 
     for (File f: files) 
     { 
      System.out.println(f); 
     } 
    } 
} 

(Файлы будут существовать, в противном случае они не будут найдены).

+0

внутренняя ошибка; не удается создать экземпляр() в to() – Minp

+0

Я не получаю эту ошибку, но было несколько опечаток, которые предотвращают компиляцию кода примера. Я исправил эти и добавил окружающий код, так что это полный runnable пример. – DNA

+0

Я получаю весь путь..и хочу только имя файла .... так как разделить f .. ?? – Minp

0

Вы можете разбить строку на основе маркеров «\» и взять второй элемент в массиве и проверить его с помощью метода StartsWith() avaialble на объекте Струнного

String splitString = fileName1.split("\\") ; 
//check if splitString is not null and size is greater than 1 and then do the following 

if(splitString[1].startsWith("M")){ 
// do whatever you want 
} 
+0

, но как я могу написать код, который существует на локальном диске или нет, и как его отобразить? – Minp

0

Чтобы проверить, если файл существуют, вы можете проверить в File Class docs в двух словах:

File f = new File(fileName1); 
if(f.exists()) { 
    //do something     
} 
Смежные вопросы