多人PK人数和窗口不对应问题 处理中
This commit is contained in:
66
main/src/main/java/com/yunbao/main/FileCopier.java
Normal file
66
main/src/main/java/com/yunbao/main/FileCopier.java
Normal file
@@ -0,0 +1,66 @@
|
||||
package com.yunbao.main;
|
||||
|
||||
/**
|
||||
* Author: plx
|
||||
* Date: 2024/11/1
|
||||
* Description:
|
||||
*/
|
||||
import android.Manifest;
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.os.Build;
|
||||
import android.os.Environment;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.core.app.ActivityCompat;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
|
||||
public class FileCopier {
|
||||
|
||||
private static final int REQUEST_WRITE_STORAGE = 112;
|
||||
|
||||
public void copyLogsToExternalStorage(Context context) {
|
||||
// 检查并请求写入外部存储的权限
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
if (ContextCompat.checkSelfPermission(context, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
|
||||
ActivityCompat.requestPermissions((Activity) context, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUEST_WRITE_STORAGE);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// 定义源目录和目标目录
|
||||
File sourceDir = new File(context.getFilesDir(), "log");
|
||||
File targetDir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), "app_logs");
|
||||
|
||||
// 确保目标目录存在
|
||||
if (!targetDir.exists()) {
|
||||
targetDir.mkdirs();
|
||||
}
|
||||
|
||||
// 复制文件
|
||||
File[] logFiles = sourceDir.listFiles((dir, name) -> name.endsWith(".log"));
|
||||
if (logFiles != null) {
|
||||
for (File logFile : logFiles) {
|
||||
File targetFile = new File(targetDir, logFile.getName());
|
||||
try (InputStream in = new FileInputStream(logFile);
|
||||
OutputStream out = new FileOutputStream(targetFile)) {
|
||||
|
||||
byte[] buffer = new byte[1024];
|
||||
int read;
|
||||
while ((read = in.read(buffer)) != -1) {
|
||||
out.write(buffer, 0, read);
|
||||
}
|
||||
out.flush();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user