2015-08-06 3 views
1

Я использую Android Studio. Есть ли возможная команда, которая скопирует, скажем, изображение в вашей папке DCIM и переместит его в корневой каталог SD-карты? Я исследовал, и ничего не нашел. Я декомпилировал другие приложения и ничего не нашел. Как вы, наверное, можете сказать, что я начинаю средний программист. Я только начал Java для этого проекта.Как скопировать файл в Java

Даже если не я хотел бы знать, так что я могу остановить ломаю сеть для ответов: P

Спасибо, все комментарии приветствуется, Вывешу больше информации Если нужно! :)

+3

Java Учебник для копирования файлов: [Link] (https://docs.oracle.com/ javase/tutorial/essential/io/copy.html) + Пример копирования файлов в Java: [Ссылка] (http://www.journaldev.com/861/4-ways-to-copy-file-in-java) – MrT

+0

Опубликовать, что в качестве awnser и Ill выберите его –

+0

Поиск операций по обработке файлов в java. –

ответ

3

Используйте эту функцию

public void copyFile(File sourceFile, File destFile) 
      throws IOException { 

     if (!destFile.exists()) { 
      destFile.createNewFile(); 
     } 

     FileChannel source = null; 
     FileChannel destination = null; 
     FileInputStream is = null; 
     FileOutputStream os = null; 
     try { 
      is = new FileInputStream(sourceFile); 
      os = new FileOutputStream(destFile); 
      source = is.getChannel(); 
      destination = os.getChannel(); 

      long count = 0; 
      long size = source.size(); 
      while ((count += destination.transferFrom(source, count, size 
        - count)) < size) 
       ; 
     } catch (Exception ex) { 
     } finally { 
      if (source != null) { 
       source.close(); 
      } 
      if (is != null) { 
       is.close(); 
      } 
      if (destination != null) { 
       destination.close(); 
      } 
      if (os != null) { 
       os.close(); 
      } 
     } 
    } 
+0

Где я могу ввести каталог файлов в этом месте? Я считаю, что это то, что мне нужно. –

2

Чтобы скопировать файл, вы можете использовать следующие:

File fileToCopy = new File("path to file you want to copy"); 
File destinationFile = new File(Environment.getExternalStorageDirectory(),"filename"); 

FileInputStream fis = new FileInputStream(fileToCopy); 
FileOutputStream fos = new FileOutputStream(destinationFile); 

byte[] b = new byte[1024]; 
int noOfBytesRead; 

while((noOfBytesRead = fis.read(b)) != -1) 
    fos.write(b,0,noOfBytesRead); 
fis.close(); 
fos.close(); 
+0

Это дает так много ошибок, но thx –

Смежные вопросы