2016-03-29 2 views
1

У меня есть сценарий, в котором присутствует около 5600 файлов. Я могу получить имена файлов, используя следующий код:Java-код для получения списка имени файла из папки

String path = "D:\\Projects worked upon\\ANZ\\Anz new\\Files\\329703588_20160328124733595\\Output"; String files; 

     File folder = new File(path); 
     File[] listOfFiles = folder.listFiles(); 

     for (int i = 0; i < listOfFiles.length; i++) 
     { 
      if (listOfFiles[i].isFile()) 
     { 
     files = listOfFiles[i].getName(); 
      if (files.toLowerCase().endsWith(".xml")) 
      { 
       System.out.println(files); 

       } 

, но мне нужно только первая часть, например, для: если имя файла в папке «abc_Transformed.xml», я требую только а .. Как его получить ?

+1

Разделить на "_"? – markspace

+0

Посмотрите на пример разделения http://stackoverflow.com/questions/3481828/how-to-split-a-string-in-java –

+0

1) 's.split (" _ ") [0]'. 2) 's.substring (0, s.indexOf ('_'))'. 3) regex: '(. *?) _' – Andreas

ответ

0

Вы можете использовать метод подстроки для поиска первой строки.

if (files.toLowerCase().endsWith(".xml")) 
      { 
       String result = files.substring(0, files.indexOf("_")); 
       System.out.println(result);    
       } 

весь код

String path = "D:\\Projects worked upon\\ANZ\\Anz new\\Files\\329703588_20160328124733595\\Output"; String files;  
     File folder = new File(path); 
     File[] listOfFiles = folder.listFiles();  
     for (int i = 0; i < listOfFiles.length; i++) 
     { 
     if (listOfFiles[i].isFile()) 
      { 
      files = listOfFiles[i].getName(); 
      if (files.toLowerCase().endsWith(".xml")) 
      { 
       String result = files.substring(0, files.indexOf("_")); 
       System.out.println(result);  
       } 
0

Информация о файлах в основном не имеет значения. Вы выполняете некоторые основные функции управления String.

Вы могли бы попробовать что-то с помощью String.split() как:

String[] pieces = files.split("_"); 
String first = pieces[0]; // should be equal to "abc" 

Или что-то с помощью String.indexOf() и String.substr() как:

int indexOfUnderscore = files.indexOf("_"); 
String first = files.substr(0, indexOfUnderscore); // should be equal to "abc" 

Если вы новичок в Java, это стоит тратить время, чтобы просмотреть все String functions.

Смежные вопросы