Remove path and file information from a filename returning only its extension component : Path « File « Java Tutorial






import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

/*

 Derby - Class org.apache.derby.iapi.util.PropertyUtil

 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
 this work for additional information regarding copyright ownership.
 The ASF licenses this file to you under the Apache License, Version 2.0
 (the "License"); you may not use this file except in compliance with
 the License.  You may obtain a copy of the License at

 http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.

 */

public class Main {


  /**
   * Remove path and file information from a filename returning only its
   * extension  component
   *
   * @param uri The filename
   * @return The filename extension (with starting dot!) or null if filename extension is not found
   */
  public static String getExtension(String uri) {
      int dot = uri.lastIndexOf('.');
      if (dot > -1) {
          uri = uri.substring(dot);
          int slash = uri.lastIndexOf('/');
          if (slash > -1) {
              return null;
          } else {
              int sharp = uri.lastIndexOf('#');
              if (sharp > -1) {
                  // uri starts with dot already
                  return uri.substring(0, sharp);
              } else {
                  int mark = uri.lastIndexOf('?');
                  if (mark > -1) {
                      // uri starts with dot already
                      return uri.substring(0, mark);
                  } else {
                      return uri;
                  }
              }
          }
      } else {
          return null;
      }
  }


}








11.3.Path
11.3.1.Construct file path
11.3.2.Absolute path and relative path
11.3.3.File Objects: specifies a path for a file or a directory
11.3.4.Using double slash to escape
11.3.5.Using the second constructor: C:/jdk1.5.0/src/java/io
11.3.6.Portable Path Considerations
11.3.7.Absolute and Relative Paths
11.3.8.Build a relative path to the given base path
11.3.9.Get relative path
11.3.10.Universal Naming Convention
11.3.11.Filtered Directory Tree
11.3.12.Compare two file paths
11.3.13.Getting an Absolute Filename Path from a Relative Filename Path
11.3.14.Getting an Absolute Filename Path from a Relative Filename with Path
11.3.15.Getting an Absolute Filename Path from a Relative Filename parent Path
11.3.16.Convert a list of path elements to a platform-specific path.
11.3.17.Match a path which may contain a wildcard
11.3.18.Merges the two paths to create a valid version of the second path
11.3.19.Return the page type extracting it from the path
11.3.20.Display directory tree
11.3.21.Get file separator using System class
11.3.22.Determining If Two Filename Paths Refer to the Same File
11.3.23.Convert a file path into a File object with an absolute path relative to a passed in root.
11.3.24.Remove file information from a filename returning only its path component
11.3.25.Remove path information from a filename returning only its file component
11.3.26.Strip a filename of its last extension (the portion immediately following the last dot character, if any)
11.3.27.Remove path and file information from a filename returning only its extension component
11.3.28.Return a file with the given filename creating the necessary directories if not present.
11.3.29.Build a path- but do not create it