正在查看: 六分钟步行测试管理软件 v1.1.0.2112120029 应用的 FileUtils.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: 六分钟步行测试管理软件 v1.1.0.2112120029 应用的 FileUtils.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package cn.neoprint.padmonitor.utils;
import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.net.Uri;
import android.os.Build;
import android.os.Environment;
import android.os.StatFs;
import android.provider.MediaStore;
import android.text.TextUtils;
import android.util.Log;
import androidx.core.content.FileProvider;
import com.sayeasytech.base.log.KLog;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.nio.charset.StandardCharsets;
import java.util.Locale;
public class FileUtils {
public static final String DATA_TYPE_ALL = "*/*";
public static final String DATA_TYPE_APK = "application/vnd.android.package-archive";
public static final String DATA_TYPE_AUDIO = "audio/*";
public static final String DATA_TYPE_CHM = "application/x-chm";
public static final String DATA_TYPE_EXCEL = "application/vnd.ms-excel";
public static final String DATA_TYPE_HTML = "text/html";
public static final String DATA_TYPE_IMAGE = "image/*";
public static final String DATA_TYPE_PDF = "application/pdf";
public static final String DATA_TYPE_PPT = "application/vnd.ms-powerpoint";
public static final String DATA_TYPE_TXT = "text/plain";
public static final String DATA_TYPE_VIDEO = "video/*";
public static final String DATA_TYPE_WORD = "application/msword";
public static void delete(File file) {
if (file.isFile()) {
file.delete();
return;
}
if (file.isDirectory()) {
File[] listFiles = file.listFiles();
if (listFiles == null || listFiles.length == 0) {
file.delete();
return;
}
for (File file2 : listFiles) {
delete(file2);
}
file.delete();
}
}
public static boolean deleteFile(String str) {
File file = new File(str);
if (file.isFile()) {
return file.delete();
}
return false;
}
public static boolean deleteFilesByPath(String str, String str2) {
File[] listFiles = new File(str).listFiles();
if (listFiles == null) {
return true;
}
boolean z = false;
for (int i = 0; i < listFiles.length; i++) {
if (listFiles[i].getName().startsWith(str2)) {
System.out.println("将被删除的文件名:" + listFiles[i].getName());
if (deleteFile(str + listFiles[i].getName())) {
System.out.println("文件" + listFiles[i].getName() + "删除成功");
z = true;
} else {
System.out.println("文件" + listFiles[i].getName() + "删除失败");
}
}
}
return z;
}
public static File getAlbumStorageDir(String str) {
File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), str);
if (!file.mkdirs()) {
Log.e("SignaturePad", "Directory not created");
}
return file;
}
public static void saveBitmapToJPG(Bitmap bitmap, File file) throws IOException {
Bitmap createBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(createBitmap);
canvas.drawColor(-1);
canvas.drawBitmap(bitmap, 0.0f, 0.0f, (Paint) null);
FileOutputStream fileOutputStream = new FileOutputStream(file);
createBitmap.compress(Bitmap.CompressFormat.JPEG, 80, fileOutputStream);
fileOutputStream.close();
}
public static boolean addJpgSignatureToGallery(Context context, Bitmap bitmap, String str) {
return !TextUtils.isEmpty(addJpgToGallery(context, "SignaturePad", bitmap, str));
}
public static String addJpgToGallery(Context context, String str, Bitmap bitmap, String str2) {
try {
File file = new File(getAlbumStorageDir(str), str2);
saveBitmapToJPG(bitmap, file);
scanMediaFile(context, file);
return file.getPath();
} catch (IOException e) {
e.printStackTrace();
return "";
}
}
public static void scanMediaFile(Context context, File file) {
Intent intent = new Intent("android.intent.action.MEDIA_SCANNER_SCAN_FILE");
intent.setData(Uri.fromFile(file));
context.sendBroadcast(intent);
}
public static boolean addSvgSignatureToGallery(Context context, String str, String str2) {
try {
File file = new File(getAlbumStorageDir("SignaturePad"), str2);
FileOutputStream fileOutputStream = new FileOutputStream(file);
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream);
outputStreamWriter.write(str);
outputStreamWriter.close();
fileOutputStream.flush();
fileOutputStream.close();
scanMediaFile(context, file);
return true;
} catch (IOException e) {
e.printStackTrace();
return false;
}
}
public static boolean isFileExist(String str) {
return new File(str).exists();
}
public static Uri getImageContentUri(Context context, File file) {
String absolutePath = file.getAbsolutePath();
Cursor query = context.getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, new String[]{"_id"}, "_data=? ", new String[]{absolutePath}, null);
if (query != null && query.moveToFirst()) {
return Uri.withAppendedPath(Uri.parse("content://media/external/images/media"), "" + query.getInt(query.getColumnIndex("_id")));
}
if (!file.exists()) {
return null;
}
ContentValues contentValues = new ContentValues();
contentValues.put("_data", absolutePath);
return context.getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, contentValues);
}
public static String getPath(Context context, Uri uri) {
Cursor query = context.getContentResolver().query(uri, null, null, null, null);
String str = null;
if (query == null) {
return null;
}
if (query.moveToFirst()) {
try {
str = query.getString(query.getColumnIndex("_data"));
} catch (Exception e) {
e.printStackTrace();
}
}
query.close();
return str;
}
public static boolean writeFile(InputStream inputStream, OutputStream outputStream) {
byte[] bArr = new byte[8192];
while (true) {
try {
int read = inputStream.read(bArr);
if (read != -1) {
outputStream.write(bArr, 0, read);
outputStream.flush();
} else {
outputStream.close();
inputStream.close();
return true;
}
} catch (IOException e) {
e.printStackTrace();
return false;
}
}
}
public static void contentToFile(String str, String str2, String str3) {
try {
File file = new File(str2);
if (!file.exists()) {
file.mkdirs();
}
File file2 = new File(str2 + "/", str3);
if (!file2.exists()) {
file2.createNewFile();
}
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(new FileOutputStream(file2), StandardCharsets.UTF_8);
outputStreamWriter.write(str);
outputStreamWriter.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void createFile(String str, byte[] bArr) {
try {
FileOutputStream fileOutputStream = new FileOutputStream(str);
fileOutputStream.write(bArr);
fileOutputStream.flush();
fileOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public static Uri getUri(Context context, Intent intent, File file) {
if (Build.VERSION.SDK_INT >= 24) {
Uri uriForFile = FileProvider.getUriForFile(context, context.getPackageName() + ".imagePicker.provider", file);
intent.addFlags(1);
return uriForFile;
}
return Uri.fromFile(file);
}
public static Intent generateVideoAudioIntent(Context context, String str, String str2) {
Intent intent = new Intent("android.intent.action.VIEW");
intent.addFlags(67108864);
intent.putExtra("oneshot", 0);
intent.putExtra("configchange", 0);
intent.setDataAndType(getUri(context, intent, new File(str)), str2);
return intent;
}
public static Intent generateHtmlFileIntent(String str) {
Uri build = Uri.parse(str).buildUpon().encodedAuthority("com.android.htmlfileprovider").scheme("content").encodedPath(str).build();
Intent intent = new Intent("android.intent.action.VIEW");
intent.setDataAndType(build, DATA_TYPE_HTML);
return intent;
}
public static Intent generateCommonIntent(Context context, String str, String str2) {
Intent intent = new Intent();
intent.addFlags(268435456);
intent.setAction("android.intent.action.VIEW");
intent.setDataAndType(getUri(context, intent, new File(str)), str2);
return intent;
}
public static boolean checkFreeSpace() {
long j = 1363148800;
long sDFreeSpace = getSDFreeSpace();
KLog.i("磁盘剩余空间: " + sDFreeSpace + "B.");
return sDFreeSpace > j;
}
public static long getSDFreeSpace() {
StatFs statFs = new StatFs(Environment.getExternalStorageDirectory().getAbsolutePath());
return statFs.getAvailableBlocks() * statFs.getBlockSize();
}
public static void openAndroidFile(Context context, String str) {
Intent generateVideoAudioIntent;
System.out.println("打印" + str);
File file = new File(str);
if (!file.exists()) {
System.out.println("打开失败,原因:文件已经被移动或者删除");
return;
}
String lowerCase = file.getName().substring(file.getName().lastIndexOf(".") + 1, file.getName().length()).toLowerCase(Locale.getDefault());
System.out.println("取得扩展名" + lowerCase);
if (lowerCase.equals("m4a") || lowerCase.equals("mp3") || lowerCase.equals("mid") || lowerCase.equals("xmf") || lowerCase.equals("ogg") || lowerCase.equals("wav")) {
generateVideoAudioIntent = generateVideoAudioIntent(context, str, DATA_TYPE_AUDIO);
} else if (lowerCase.equals("3gp") || lowerCase.equals("mp4")) {
generateVideoAudioIntent = generateVideoAudioIntent(context, str, DATA_TYPE_VIDEO);
} else if (lowerCase.equals("jpg") || lowerCase.equals("gif") || lowerCase.equals("png") || lowerCase.equals("jpeg") || lowerCase.equals("bmp")) {
generateVideoAudioIntent = generateCommonIntent(context, str, DATA_TYPE_IMAGE);
} else if (lowerCase.equals("apk")) {
generateVideoAudioIntent = generateCommonIntent(context, str, DATA_TYPE_APK);
} else if (lowerCase.equals("html") || lowerCase.equals("htm")) {
generateVideoAudioIntent = generateHtmlFileIntent(str);
} else if (lowerCase.equals("ppt")) {
generateVideoAudioIntent = generateCommonIntent(context, str, DATA_TYPE_PPT);
} else if (lowerCase.equals("xls")) {
generateVideoAudioIntent = generateCommonIntent(context, str, DATA_TYPE_EXCEL);
} else if (lowerCase.equals("doc")) {
generateVideoAudioIntent = generateCommonIntent(context, str, DATA_TYPE_WORD);
} else if (lowerCase.equals("pdf")) {
generateVideoAudioIntent = generateCommonIntent(context, str, DATA_TYPE_PDF);
} else if (lowerCase.equals("chm")) {
generateVideoAudioIntent = generateCommonIntent(context, str, DATA_TYPE_CHM);
} else if (lowerCase.equals("txt")) {
generateVideoAudioIntent = generateCommonIntent(context, str, DATA_TYPE_TXT);
} else {
generateVideoAudioIntent = generateCommonIntent(context, str, DATA_TYPE_ALL);
}
context.startActivity(generateVideoAudioIntent);
}
}