Java URI to File Name getFilename(final URI uri)

Here you can find the source of getFilename(final URI uri)

Description

Returns the filename for the specified URI.

License

Apache License

Parameter

Parameter Description
uri The URI for which to return the filename.

Exception

Parameter Description
IllegalArgumentException <ul><li>The URI cannot be null.</li><li>A separator character could not be foundin the specified URI.</li><li>The specified URI does not point to a fileresource.</li></ul>

Return

The filename of the resource represented by the specified URI.

Declaration

public static String getFilename(final URI uri) throws IllegalArgumentException 

Method Source Code

//package com.java2s;
/*/*from  ww w . ja va  2s .  c o m*/
   Copyright 2009 Tomer Gabel <tomer@tomergabel.com>
    
   Licensed 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.
    
    
   ant-intellij-tasks project (http://code.google.com/p/ant-intellij-tasks/)
    
   $Id$
*/

import java.net.URI;

public class Main {
    /**
     * Returns the filename for the specified URI.
     * <p/>
     * For example, applyign this method to the URI &quot;<tt>http://www.site.com/articles/article.html</tt>&quot; will
     * return &quot;<tt>article.html</tt>&quot;.
     *
     * @param uri The URI for which to return the filename.
     * @return The filename of the resource represented by the specified URI.
     * @throws IllegalArgumentException <ul><li>The URI cannot be null.</li><li>A separator character could not be found
     *                                  in the specified URI.</li><li>The specified URI does not point to a file
     *                                  resource.</li></ul>
     */
    public static String getFilename(final URI uri) throws IllegalArgumentException {
        if (uri == null)
            throw new IllegalArgumentException("The URI cannot be null.");

        final String path = uri.getRawPath();
        final int finalSeparator = Math.max(path.lastIndexOf('/'), path.lastIndexOf('\\'));
        if (finalSeparator == -1)
            throw new IllegalArgumentException("A separator character could not found in the specified URI.");
        if (finalSeparator == path.length() - 1)
            throw new IllegalArgumentException("The specified URI does not point to a file resource.");
        return path.substring(finalSeparator + 1);
    }
}

Related

  1. getFile(URI uri)
  2. getFile(URI uri)
  3. getFileByPathOrURI(String path)
  4. getFileFromURIList(URI[] uris, String fileName)
  5. getFilename(final URI uri)
  6. getFileName(URI path)
  7. getFileName(URI uri)
  8. getFileName(URI uri)
  9. getFileName(URI uri)