org.apache.commons.vfs2.example.ShowProperties Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of commons-vfs2-examples Show documentation
Show all versions of commons-vfs2-examples Show documentation
Apache Commons VFS is a Virtual File System library - Examples.
/*
* 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.
*/
package org.apache.commons.vfs2.example;
import java.text.DateFormat;
import java.util.Date;
import org.apache.commons.vfs2.FileObject;
import org.apache.commons.vfs2.FileSystemException;
import org.apache.commons.vfs2.FileSystemManager;
import org.apache.commons.vfs2.FileType;
import org.apache.commons.vfs2.VFS;
/**
* Example which prints all properties of the file passed as first parameter.
*/
public final class ShowProperties {
/** Maximum number of children to show. */
private static final int SHOW_MAX = 5;
private ShowProperties() {
/* main class not instantiated. */
}
public static void main(final String[] args) {
if (args.length == 0) {
System.err.println("Please pass the name of a file as parameter.");
System.err.println("e.g. java org.apache.commons.vfs2.example.ShowProperties LICENSE.txt");
return;
}
for (final String arg : args) {
try {
final FileSystemManager mgr = VFS.getManager();
System.out.println();
System.out.println("Parsing: " + arg);
final FileObject file = mgr.resolveFile(arg);
System.out.println("URL: " + file.getURL());
System.out.println("getName(): " + file.getName());
System.out.println("BaseName: " + file.getName().getBaseName());
System.out.println("Extension: " + file.getName().getExtension());
System.out.println("Path: " + file.getName().getPath());
System.out.println("Scheme: " + file.getName().getScheme());
System.out.println("URI: " + file.getName().getURI());
System.out.println("Root URI: " + file.getName().getRootURI());
System.out.println("Parent: " + file.getName().getParent());
System.out.println("Type: " + file.getType());
System.out.println("Exists: " + file.exists());
System.out.println("Readable: " + file.isReadable());
System.out.println("Writeable: " + file.isWriteable());
System.out.println("Root path: " + file.getFileSystem().getRoot().getName().getPath());
if (file.exists()) {
if (file.getType().equals(FileType.FILE)) {
System.out.println("Size: " + file.getContent().getSize() + " bytes");
} else if (file.getType().equals(FileType.FOLDER) && file.isReadable()) {
final FileObject[] children = file.getChildren();
System.out.println("Directory with " + children.length + " files");
for (int iterChildren = 0; iterChildren < children.length; iterChildren++) {
System.out.println("#" + iterChildren + ": " + children[iterChildren].getName());
if (iterChildren > SHOW_MAX) {
break;
}
}
}
System.out.println("Last modified: "
+ DateFormat.getInstance().format(new Date(file.getContent().getLastModifiedTime())));
} else {
System.out.println("The file does not exist");
}
file.close();
} catch (final FileSystemException ex) {
ex.printStackTrace();
}
}
}
}