标签: copy

复制两个空路径时会发生什么,为什么不抛出异常?

我真的很想知道这段代码是做什么的:

scala> import java.nio.file._
import java.nio.file._

scala> Files.copy(Paths.get(""), Paths.get(""))
res0: java.nio.file.Path = 
Run Code Online (Sandbox Code Playgroud)

不应该抛出一个NoSuchFileException

阅读JavaDoc揭示:

默认情况下,如果目标文件已存在或者是符号链接,则复制将失败,除非源和目标是同一文件,在这种情况下,方法完成而不复制文件.

但我不确定这是真正的原因,因为Files.copy(Paths.get("a"), Paths.get("a"))失败了.

java filesystems copy file path

0
推荐指数
1
解决办法
229
查看次数

将子目录复制到目录

引用此问题/代码:

如何在.NET中复制文件夹和所有子文件夹和文件?

我正在尝试将一小撮子目录复制到另一个目录.我想要更新此代码:

Dim fso As System.Object = New System.Object
    fso = CreateObject("scripting.filesystemobject")

    fso.copyfolder(sour, dest)
Run Code Online (Sandbox Code Playgroud)

但是我收到了这个错误:

System.IO.DirectoryNotFoundException:找不到路径'C:\ Temp\Summer2011\Newfolder\Copy of New Text Document.txt'的一部分.System.IO.File.Copy.Copy(String sourceFileName,String destFileName)的System.IO.File.InternalCopy(String sourceFileName,String destFileName,Boolean overwrite)中的System.IO._E_Error.WinIOError(Int32 errorCode,String maybeFullPath). .等等

有了这个.NET版本

 Public Overrides Sub OnClick()

            Dim sour As String = "C:\Temp243"
            Dim dest As String = "C:\Temp\Summer2011\"

            CopyDirectory(sour, dest)

    End Sub



    Private Sub CopyDirectory(ByVal SourcePath As String, ByVal DestPath As String)

                     If Directory.Exists(DestPath) Then
                Directory.CreateDirectory(DestPath)
            End If

            For Each File As String In Directory.GetFiles(SourcePath)
                Dim dest As String = IO.Path.Combine(DestPath, …
Run Code Online (Sandbox Code Playgroud)

vb.net directory copy visual-studio-2010

0
推荐指数
1
解决办法
6790
查看次数

使用BlockCopy方法时,为什么要添加额外的4个字节

搜索后,我没能找到一个很容易理解的解释,为什么额外的4个使用时对加BlockCopy方法(如图所示这里,这里,这里,这里)

文件说:

顾名思义,BlockCopy方法整体复制一个字节块,而不是一次复制一个字节.因此,如果src和dst引用相同的数组,并且srcOffset + count -1的范围与dstOffset + count - 1的范围重叠,则重叠字节的值在复制到目标之前不会被覆盖.在以下示例中,名为arr的数组中的字节0-16的值将复制到字节12-28.尽管范围重叠,但源字节的值已成功复制.

但是我并没有真正明白这一点,并希望有人能够以不同的方式解释它(或发布一个解释这个的资源的链接),以及为什么需要添加这些额外的4个字节.

为清楚起见,这里是我所指的代码:

作为压缩方法的一部分:

byte[] gzBuffer = new byte[compressed.Length + 4];
System.Buffer.BlockCopy(compressed, 0, gzBuffer, 4, compressed.Length);
System.Buffer.BlockCopy(BitConverter.GetBytes(buffer.Length), 0, gzBuffer, 0, 4);
Run Code Online (Sandbox Code Playgroud)

作为解压缩方法的一部分:

ms.Write(gzBuffer, 4, gzBuffer.Length - 4);
Run Code Online (Sandbox Code Playgroud)

.net compression copy bytearray

0
推荐指数
1
解决办法
175
查看次数

PHP GD imagecopyresampled可怕的质量

不知道为什么它看起来如此糟糕,但是当我将图像复制到另一个图像上时,它看起来非常糟糕,就像它因某种原因丢失了几乎所有的颜色.

$img = imagecreate(240, 140);    
$wall = imagecreatefrompng($src);
imagecopyresampled($img, $wall, 0, 0, 40, 340, 240, 140, 240, 140);
Run Code Online (Sandbox Code Playgroud)

我一直试图找到一个解决方案,但我似乎无法找到一个解决方案,任何人都非常善于使用GD可以提供帮助吗?我不能使用imagemagick.

php gd copy image

0
推荐指数
1
解决办法
2462
查看次数

复制目录的性能

我正在使用C#将文件从一个目录复制到另一个目录.我正在使用来自msdn的代码,但它很慢,需要一分钟左右来复制几个演出.在资源管理器中只需几秒钟. http://channel9.msdn.com/Forums/TechOff/257490-How-Copy-directories-in-C 有一种更快的方式.. :)

        private static void Copy(string sourceDirectory, string targetDirectory)
    {
        DirectoryInfo diSource = new DirectoryInfo(sourceDirectory);
        DirectoryInfo diTarget = new DirectoryInfo(targetDirectory);

        CopyAll(diSource, diTarget);
    }

    private static void CopyAll(DirectoryInfo source, DirectoryInfo target)
    {
        // Check if the target directory exists, if not, create it.
        if (Directory.Exists(target.FullName) == false)
        {
            Directory.CreateDirectory(target.FullName);
        }

        // Copy each file into it's new directory.
        foreach (FileInfo fi in source.GetFiles())
        {
            fi.CopyTo(Path.Combine(target.ToString(), fi.Name), true);
        }

        // Copy each subdirectory using recursion.
        foreach (DirectoryInfo diSourceSubDir in source.GetDirectories()) …
Run Code Online (Sandbox Code Playgroud)

c# performance copy

0
推荐指数
1
解决办法
3764
查看次数

通过上下文菜单将文本从edittext复制到剪贴板时出现异常?

在尝试将TextView文本复制到剪贴板时,我做错了什么?

我的活动类中的代码:

@Override
public boolean onContextItemSelected(MenuItem item) {
    String selectedItem = item.getTitle().toString().trim();
    try {
    ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
    ClipData clip;
    if (selectedItem.equals("Copy Query")) {
        clip = ClipData.newPlainText("Query",tv1.getText());
    clipboard.setPrimaryClip(clip);
    }           
    return true;
}
Run Code Online (Sandbox Code Playgroud)

错误:

04-17 03:10:54.056: E/AndroidRuntime(503): FATAL EXCEPTION: main
04-17 03:10:54.056: E/AndroidRuntime(503): java.lang.NoClassDefFoundError: android.content.ClipboardManager
04-17 03:10:54.056: E/AndroidRuntime(503):  at com.ewe.radixcalculator.CalculatorActivity.onContextItemSelected(CalculatorActivity.java:68)
04-17 03:10:54.056: E/AndroidRuntime(503):  at android.app.Activity.onMenuItemSelected(Activity.java:2199)
04-17 03:10:54.056: E/AndroidRuntime(503):  at com.android.internal.policy.impl.PhoneWindow$ContextMenuCallback.onMenuItemSelected(PhoneWindow.java:2744)
04-17 03:10:54.056: E/AndroidRuntime(503):  at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:143)
04-17 03:10:54.056: E/AndroidRuntime(503):  at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:855)
04-17 03:10:54.056: E/AndroidRuntime(503):  at com.android.internal.view.menu.MenuDialogHelper.onClick(MenuDialogHelper.java:137)
04-17 03:10:54.056: E/AndroidRuntime(503):  at com.android.internal.app.AlertController$AlertParams$3.onItemClick(AlertController.java:874) …
Run Code Online (Sandbox Code Playgroud)

clipboard android contextmenu copy textview

0
推荐指数
1
解决办法
2003
查看次数

For循环vs赋值运算符

直接赋值( =)与转换内容相同char*,然后使用for循环来逐字节复制它吗?*
我想知道一种方法是否优于另一种方法.

struct A
{
    int a;
    int b;
} Test;

void* Buffer = malloc(1024);


// Casting and byte copying
for (int i=0; i != 8; i++)
{
    ((char*)Buffer)[i] = ((char*)Test)[i];
}

// Assignment
((A*)Buffer)[0] = Test;
Run Code Online (Sandbox Code Playgroud)

*所有类型都是按位可复制的.

编辑:根据答案,memcopy与'='相同

c++ bit-manipulation copy

0
推荐指数
1
解决办法
330
查看次数

批处理文件以查找文件夹中的最新文件,然后将其重命名并重命名为另一个文件夹

在这里发现了同样的问题..我正在尝试使用代码,但我的数据.我绝不是一个程序员..我几乎可以采取任何代码,然后让它适合我.

如何编写批处理文件来复制和重命名最近日期的文件?

这是我的

 @echo on
 setLocal DisableDelayedExpansion
 pushd  N:\
 setLocal EnableDelayedExpansion

 for /f "tokens=* delims= " %%G in ('dir/b/od') do (set newest=%%G)

 copy %newest% G:\Server_Files\AMI_DATA\TEXT_FILES\NewFile.csv

 PAUSE
 POPD
Run Code Online (Sandbox Code Playgroud)

结果......

C:\Documents and Settings\belcherj\Desktop\AMI_BATCH>setLocal DisableDelayedExpa
nsion

C:\Documents and Settings\belcherj\Desktop\AMI_BATCH>pushd  N:\

N:\>setLocal EnableDelayedExpansion

N:\>for /F "tokens=* delims= " %G in ('dir/b/od') do (set newest=%G )

N:\>(set newest=System Blink Count__2012-06-27 01_00_46.csv )

N:\>(set newest=System Blink Count__2012-06-28 01_00_32.csv )

N:\>(set newest=System Blink Count__2012-06-29 01_00_33.csv )

N:\>(set newest=System Blink Count__2012-06-30 01_00_42.csv )

N:\>(set newest=System Blink Count__2012-07-01 01_00_32.csv …
Run Code Online (Sandbox Code Playgroud)

csv directory copy batch-file

0
推荐指数
1
解决办法
2万
查看次数

将ZipEntry复制到新ZipFile的惯用方法是什么?

我正在编写一个工具来在DOCX文件中进行一些小文本替换,这是一种压缩格式.我的方法是ZipEntry使用a将原始文件中的条目内容复制到修改后的文件中ZipOutputStream.对于大多数DOCX文件,这种方法效果很好,但偶尔我会遇到ZipException有关我写的内容与其中包含的元信息ZipEntry(通常是压缩大小的差异)之间的差异的问题.

这是我用来复制内容的代码.为简洁起见,我删除了错误处理和文档处理; 到目前为止,我还没有遇到过文档条目的问题.

ZipFile         original = new ZipFile(INPUT_FILENAME);
ZipOutputStream outputStream = new ZipOutputStream(new FileOutputStream(OUTPUT_FILE));
Enumeration     entries = original.entries();
byte[]          buffer = new byte[512];
while (entries.hasMoreElements()) {
    ZipEntry    entry = (ZipEntry)entries.nextElement();
    if  ("word/document.xml".equalsIgnoreCase(entry.getName())) {
        //perform special processing
    }
    else{
        outputStream.putNextEntry(entry);
        InputStream in = original.getInputStream(entry);
        while (0 < in.available()){
            int read = in.read(buffer);
            outputStream.write(buffer,0,read);
        }
        in.close();
    }
    outputStream.closeEntry();
}
outputStream.close();
Run Code Online (Sandbox Code Playgroud)

ZipEntry对象直接复制ZipFile到另一个对象的正确或惯用方法是什么?

java zip copy docx

0
推荐指数
1
解决办法
4915
查看次数

使用单个哈希的副本填充perl哈希数组

我搜索并搜索过,但我找不到任何我发现的代码.我很抱歉,如果这是重复旧的,但我现在花了2天试图让这10行工作,我在我的智慧结束没有留下头发:-(

我正在运行Perl 5.8.8.

我想在Perl中填充哈希数组,使其包含我正在更新的单个哈希变量的多个副本.我的代码在这里:

use strict;
use warnings;

my @array;

my %tempHash = (state => "apple", symbol => "54", memberId => "12345");
push(@array, \%tempHash);

%tempHash = (state => "tiger", symbol => "22", memberId => "12345");
push(@array, \%tempHash);

%tempHash = (state => "table", symbol => "37", memberId => "12345");
push(@array, \%tempHash);

printf("%p %p %p\n", $array[0], $array[1], $array[2]);

foreach my $entry (@array){
    printf("state: %s\n", $entry->{state});
    printf("memberId: %s\n", $entry->{memberId});
    printf("symbol: %s\n\n", $entry->{symbol});
}
Run Code Online (Sandbox Code Playgroud)

这会产生以下输出:

1868954 18688d0 18688c4
state: table
memberId: 12345 …
Run Code Online (Sandbox Code Playgroud)

perl copy reference perl-data-structures

0
推荐指数
1
解决办法
1685
查看次数