Java Tips

From Fxp Wiki

Jump to: navigation, search
Nom de fichier sans extension

Get filename without extension

 
File f = new File(args[k]);
String fileName = f.getName().substring(0, f.getName().lastIndexOf("."));
System.out.println(".." + fileName);
 


How to recursivly do a directory list?

http://home.tiscali.nl/~bmc88/java/sbook/0108.html

 
/**
 * Insert the method's description here.
 * Creation date: (3/15/00 4:45:34 PM)
 * @return java.io.File[]
 */
public static void listFilesRecursive(Vector list, File root) {
 if (root.isFile()) {
  list.addElement(root);
  return;
 }
 File[] files = root.listFiles();
 for (int i=0; i < files.length; i++) {
  if ( files[i].isFile() && files[i].getName().endsWith(".java")) {
   list.addElement(files[i]);
  }
  if ( files[i].isDirectory()) {
   listFilesRecursive(list,files[i]);
  }
 }
 


Listing the Files or Subdirectories in a Directory

http://javaalmanac.com/egs/java.io/GetFiles.html

 
    File dir = new File("directoryName");
String[] children = dir.list();
if (children == null) {
// Either dir does not exist or is not a directory
    } else {
        for (int i=0; i<children.length; i++) {
            // Get filename of file or directory
            String filename = children[i];
        }
    }
    
    // It is also possible to filter the list of returned files.
    // This example does not return any files that start with `.'.
    FilenameFilter filter = new FilenameFilter() {
        public boolean accept(File dir, String name) {
            return !name.startsWith(".");
        }
    };
    children = dir.list(filter);
    
    
    // The list of files can also be retrieved as File objects
    File[] files = dir.listFiles();
    
    // This filter only returns directories
    FileFilter fileFilter = new FileFilter() {
        public boolean accept(File file) {
            return file.isDirectory();
        }
    };
    files = dir.listFiles(fileFilter);
 
 
 


Sorting a List

http://javaalmanac.com/egs/java.util/coll_SortList.html

 
 
    // Create a list
    String[] strArray = new String[] {"z", "a", "C"};
    List list = Arrays.asList(strArray);
 
    // Sort
    Collections.sort(list);
    // C, a, z
    
    // Case-insensitive sort
    Collections.sort(list, String.CASE_INSENSITIVE_ORDER);
    // a, C, z
    
    // Reverse-order sort
    Collections.sort(list, Collections.reverseOrder());
    // z, a, C
    // Case-insensitive reverse-order sort
    Collections.sort(list, String.CASE_INSENSITIVE_ORDER);
    Collections.reverse(list);    // z, C, a
 
Personal tools