Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用ClipBoardManager android在文件管理器中复制/粘贴实现_Android_Copy Paste_Clipboardmanager - Fatal编程技术网

使用ClipBoardManager android在文件管理器中复制/粘贴实现

使用ClipBoardManager android在文件管理器中复制/粘贴实现,android,copy-paste,clipboardmanager,Android,Copy Paste,Clipboardmanager,我正在寻找一种有效的方法来实现复制粘贴功能。如何使用ClipBoardManager类实现这一点。到处都显示了如何使用剪辑数据复制文本。我想复制一个文件或文件夹。提前感谢您可能想看看这本Android指南: 当您要复制/通过文件时,应使用 以下是将文件从一个位置复制到另一个位置的方法: private void copyFile(String inputPath, String inputFile, String outputPath) { InputStream in = nul

我正在寻找一种有效的方法来实现复制粘贴功能。如何使用ClipBoardManager类实现这一点。到处都显示了如何使用剪辑数据复制文本。我想复制一个文件或文件夹。提前感谢

您可能想看看这本Android指南:


当您要复制/通过文件时,应使用

以下是将文件从一个位置复制到另一个位置的方法:

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());
    }

}
参考链接:

复制数据

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();

可能重复的问题?:谢谢但我已经提到了链接,但我没有得到太多。我能理解复制文本的方法,但我无法将文件从sd卡上的某个位置复制到另一个位置。我不确定将文件从一个位置移动到另一个位置的正确方法是使用剪贴板。。如果你想移动文件,你可以参考这个链接::谢谢!!但我已经提到了链接,但我没有得到太多。我能理解复制文本的方法,但我无法将文件从sd卡上的某个位置复制到另一个位置。在这个链接上也显示了如何复制文本。我需要复制一个文件或文件夹。你确定你找到了正确的链接吗?这个问题的第二个答案()有一些代码样本。我用一个新的代码样本更新了我的答案。。请看一下这是否符合您的期望。我不能复制文本以外的内容吗,我的要求是复制一个文件或目录。:'(你能再解释一下你想实现什么吗?)我在文件浏览器中有一个文件列表。长按任何项目都有一个复制选项。我想实现的是..在选择复制选项时复制该文件,并将其粘贴到用户想要的任何位置。该列表显示arrayList中包含的文件对象的字符串名称。谢谢aSHISh!!
ClipData abc = myClipboard.getPrimaryClip();
ClipData.Item item = abc.getItemAt(0);
String text = item.getText().toString();