alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

Android example source code file (StatFs.java)

This example Android source code file (StatFs.java) is included in the DevDaily.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Android by Example" TM.

Java - Android tags/keywords

override, statfs

The StatFs.java Android example source code

/*
 * Copyright (C) 2007 The Android Open Source Project
 *
 * 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.
 */

package android.os;

/**
 * Retrieve overall information about the space on a filesystem.  This is a
 * Wrapper for Unix statfs().
 */
public class StatFs {
    /**
     * Construct a new StatFs for looking at the stats of the
     * filesystem at <var>path.  Upon construction, the stat of
     * the file system will be performed, and the values retrieved available
     * from the methods on this class.
     * 
     * @param path A path in the desired file system to state.
     */
    public StatFs(String path) { native_setup(path); }
    
    /**
     * Perform a restat of the file system referenced by this object.  This
     * is the same as re-constructing the object with the same file system
     * path, and the new stat values are available upon return.
     */
    public void restat(String path) { native_restat(path); }

    @Override
    protected void finalize() { native_finalize(); }

    /**
     * The size, in bytes, of a block on the file system.  This corresponds
     * to the Unix statfs.f_bsize field.
     */
    public native int getBlockSize();

    /**
     * The total number of blocks on the file system.  This corresponds
     * to the Unix statfs.f_blocks field.
     */
    public native int getBlockCount();

    /**
     * The total number of blocks that are free on the file system, including
     * reserved blocks (that are not available to normal applications).  This
     * corresponds to the Unix statfs.f_bfree field.  Most applications will
     * want to use {@link #getAvailableBlocks()} instead.
     */
    public native int getFreeBlocks();

    /**
     * The number of blocks that are free on the file system and available to
     * applications.  This corresponds to the Unix statfs.f_bavail field.
     */
    public native int getAvailableBlocks();    
    
    private int mNativeContext;
    private native void native_restat(String path);
    private native void native_setup(String path);
    private native void native_finalize();
}

Other Android examples (source code examples)

Here is a short list of links related to this Android StatFs.java source code file:

... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.