12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- package com.reactlibrary.utils;
-
- import android.content.Context;
- import android.net.Uri;
- import android.os.Environment;
- import android.text.TextUtils;
-
- import java.io.File;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.OutputStream;
-
- public class FileUtils {
-
- /**
- * copy file
- * @param context
- * @param srcUri
- * @param dstFile
- */
- public static void copy(Context context, Uri srcUri, File dstFile) {
- try {
- InputStream is = context.getContentResolver().openInputStream(srcUri);
- if (is == null) return;
- OutputStream fos = new FileOutputStream(dstFile);
- int ch = 0;
- try {
- while((ch=is.read()) != -1){
- fos.write(ch);
- }
- } catch (IOException e1) {
- e1.printStackTrace();
- } finally{
- // close inputstream
- fos.close();
- is.close();
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
- /**
- * getFileName
- * @param uri
- * @return
- */
- public static String getFileName(Uri uri) {
- if (uri == null) return null;
- String fileName = null;
- String path = uri.getPath();
- int cut = path.lastIndexOf('/');
- if (cut != -1) {
- fileName = path.substring(cut + 1);
- }
- return fileName;
- }
-
- /**
- * getFilePathFromURI
- * @param context
- * @param contentUri
- * @return
- */
- public static String getFilePathFromURI(Context context, Uri contentUri) {
- //copy file and send new file path
- String fileName = getFileName(contentUri);
- if (!TextUtils.isEmpty(fileName)) {
- File copyFile = new File( Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + fileName);
- FileUtils.copy(context, contentUri, copyFile);
- return copyFile.getAbsolutePath();
- }
- return null;
- }
- }
|