java拷贝文件有权限吗_java拷贝文件夹和android设置文件权限

拷贝文件夹的代码:

public boolean copy(String file1,String file2) {

File in=new File(file1);

File out=new File(file2);

if(!in.exists()){

return false;

}

else {

}

if(!out.exists())

out.mkdirs();

File[] file=in.listFiles();

FileInputStream fin=null;

FileOutputStream fout=null;

for(int i=0;i

if(file[i].isFile()){

try {

fin=new FileInputStream(file[i]);

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

try {

File f = new File(file2+"/"+file[i].getName());

fout=new FileOutputStream(f);

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

int c;

byte[] b=new byte[1024*5];

try {

while((c=fin.read(b))!=-1){

fout.write(b, 0, c);

}

fin.close();

fout.flush();

fout.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

//              return true;

}

else copy(file1+"/"+file[i].getName(),file2+"/"+file[i].getName());

}

return false;

}

android上设置文件夹权限有两种方法

1:

try {

String command = "chmod 644 " + f.getAbsolutePath();

Runtime runtime = Runtime.getRuntime();

java.lang.Process proc = runtime.exec(command);

} catch (IOException e) {

e.printStackTrace();

}

2:

使用FileUtils,这个类默认是隐藏的,官方sdk中不包含这个类,所以代码如果要使用这个类,需要将工程放到android源码中编译           FileUtils.setPermissions(f.getAbsolutePath(), FileUtils.S_IRUSR | FileUtils.S_IWUSR | FileUtils.S_IRGRP | FileUtils.S_IROTH, -1, -1) ;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用以下代码来实现在 Android 设备上将 U 盘中指定文件夹下的内容拷贝到设备中: ```java private void copyFilesFromUSB() { try { // 获取外部存储设备路径 String path = System.getenv("EXTERNAL_STORAGE"); // 指定要拷贝文件夹 String folderToCopy = "/usb/MyFolder"; // 创建目标文件夹 File destFolder = new File(path + "/MyApp/"); if (!destFolder.exists()) { destFolder.mkdirs(); } // 获取外部存储设备挂载点 File usbDrive = new File("/usb/"); String[] files = usbDrive.list(); if (files != null) { for (String file : files) { if (file.contains("sd")) { File sourceFolder = new File("/" + file + folderToCopy); // 判断源文件夹是否存在 if (sourceFolder.exists()) { // 遍历源文件夹 for (File sourceFile : sourceFolder.listFiles()) { if (sourceFile.isFile()) { // 拷贝文件 File destFile = new File(destFolder.getAbsolutePath() + "/" + sourceFile.getName()); copy(sourceFile, destFile); } } } } } } } catch (Exception e) { e.printStackTrace(); } } private void copy(File source, File dest) throws IOException { FileInputStream is = new FileInputStream(source); FileOutputStream os = new FileOutputStream(dest); byte[] buffer = new byte[1024]; int length; while ((length = is.read(buffer)) > 0) { os.write(buffer, 0, length); } is.close(); os.close(); } ``` 注意,您需要在 `AndroidManifest.xml` 文件中添加以下权限: ```xml <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> ``` 此外,以上代码中的文件路径仅供参考,您需要根据实际情况进行修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值