Android File Temp Create getTempFile(String prefix, String suffix)

Here you can find the source of getTempFile(String prefix, String suffix)

Description

get Temp File

License

Apache License

Declaration

public static File getTempFile(String prefix, String suffix) 

Method Source Code

//package com.java2s;
/**/*from ww  w  . j a  va  2  s .c  om*/
 *  Copyright (C) 2012 Hyperionics Technology LLC <http://www.hyperionics.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.
 */

import android.app.Application;

import java.io.*;

import java.lang.reflect.Method;
import java.util.ArrayList;

public class Main {
    private static Application myApp = getApp();
    private static ArrayList<File> myTempFiles = new ArrayList<File>();

    public static File getTempFile(String tmpName) {
        // getExternalCacheDir() returns something like /mnt/sdcard/Android/data/[package_name]/cache/
        File file = new File(getApp().getApplicationContext()
                .getExternalCacheDir(), tmpName);
        myTempFiles.add(file);
        return file;
    }

    public static File getTempFile() {
        return getTempFile("temp", ".tmp");
    }

    public static File getTempFile(String prefix, String suffix) {
        File file = null;
        try {
            file = File.createTempFile(prefix, suffix, getApp()
                    .getApplicationContext().getExternalCacheDir());
            myTempFiles.add(file);
        } catch (Exception e) {
        }
        return file;
    }

    public static Application getApp() {
        if (myApp == null) {
            try {
                final Class<?> activityThreadClass = Class
                        .forName("android.app.ActivityThread");
                final Method method = activityThreadClass
                        .getMethod("currentApplication");
                myApp = (Application) method.invoke(null, (Object[]) null);
            } catch (Exception e) {
                // handle exception
            }
        }
        // below gives me /mnt/sdcard/Android/data/com.hyperionics.pdfxTest/cache/tmpPdfx
        // File file = new File(app.getApplicationContext().getExternalCacheDir(), "tmpPdfx");
        return myApp;
    }
}

Related

  1. createTempFile(File baseDir, String fileName)
  2. createTempFile(String filePrefix, String fileSuffix)
  3. createTempFile(String pFilename)
  4. getTempFile()
  5. getTempFile(String dir, String fileExt)
  6. getTempFile(String tmpName)
  7. getTempImageFile(Context context)
  8. getTempVideoFile()
  9. newTmpFile(String content)