2015-04-08 42 views
0

我正在尋找一種有效且高效的方法來實現複製粘貼功能。這是如何使用ClipBoardManager類實現的。它展示瞭如何複製剪輯數據的文本。我想複製一個文件或者一個文件夾。在此先感謝使用ClipBoardManager在文件管理器中複製/粘貼實現android

+0

可能重複的問題嗎? http://stackoverflow.com/questions/238284/how-to-copy-text-programmatically-in-my-android-app –

回答

-2

你可能想看看這個Android指南:

http://developer.android.com/guide/topics/text/copy-paste.html


當你想複製/過去的一個文件,你應該使用Java Standard I/O

這裏是一種將文件從一個位置複製到另一個位置的方法:

private void copyFile(String inputPath, String inputFile, String outputPath) { 

    InputStream in = null; 
    OutputStream out = null; 
    try { 

     //create output directory if it doesn't exist 
     File dir = new File (outputPath); 
     if (!dir.exists()) 
     { 
      dir.mkdirs(); 
     } 


     in = new FileInputStream(inputPath + inputFile);   
     out = new FileOutputStream(outputPath + inputFile); 

     byte[] buffer = new byte[1024]; 
     int read; 
     while ((read = in.read(buffer)) != -1) { 
      out.write(buffer, 0, read); 
     } 
     in.close(); 
     in = null; 

      // write the output file (You have now copied the file) 
      out.flush(); 
     out.close(); 
     out = null;   

    } catch (FileNotFoundException fnfe1) { 
     Log.e("tag", fnfe1.getMessage()); 
    } 
      catch (Exception e) { 
     Log.e("tag", e.getMessage()); 
    } 

} 

參考鏈接:How to programmatically move, copy and delete files and directories on SD?

+0

:謝謝!但是我已經提到過這個鏈接,但是我沒有太多。我能夠理解複製文本的方式,但無法將文件從SD卡上的某個位置複製到另一個位置。 –

+0

我不確定將文件從一個地方移動到另一個地方的正確方法是使用剪貼板。如果要移動文件,可以參考以下鏈接:http://stackoverflow.com/questions/4178168/如何以編程方式移動複製和刪除文件和目錄上的sd –

+0

:謝謝!但是我已經提到過這個鏈接,但是我沒有太多。我能夠理解複製文本的方式,但無法將文件從SD卡上的某個位置複製到另一個位置。在這個鏈接上也顯示了文本是如何被複制的。我需要複製一個文件或文件夾。 –

-1
ClipboardManager myClipboard; 
myClipboard = (ClipboardManager)getSystemService(CLIPBOARD_SERVICE); 

複製數據

ClipData myClip; 
String text = "hello world"; 
myClip = ClipData.newPlainText("text", text); 
myClipboard.setPrimaryClip(myClip); 

粘貼數據

ClipData abc = myClipboard.getPrimaryClip(); 
ClipData.Item item = abc.getItemAt(0); 
String text = item.getText().toString(); 
+0

我不能複製文本以外的東西,我的要求是複製文件或目錄。 :'( –

+0

你能稍微解釋一下你想要實現的內容嗎 –

+0

我有一個文件列表在文件瀏覽器中,長按任何項目都有一個複製選項。我想要實現的是..to複製該文件選擇複製選項並將其粘貼到用戶想要的位置。該列表顯示了包含在arrayList中的文件對象的字符串名稱。謝謝aSHISh! –