首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Exception >

copy文件失败,系统报错:exception:java.io.IOException:存储空间不足,无法处理此命令。

2014-01-26 
很奇怪的一个问题,程序在copy文件时报了系统报错:exception:java.io.IOException:存储空间不足,无法处理此

很奇怪的一个问题,程序在copy文件时报了系统报错:exception:java.io.IOException:存储空间不足,无法处理此命令 错误,结果文件只copy了0字节。但系统中磁盘空间还有20多个G。
  具体的程序代码如下所示:
public static void CopyFlie(String srcFilename, String dstFilename)
{
  try
  {
  FileChannel srcChannel =
  (new FileInputStream(srcFilename)).getChannel();
  FileChannel dstChannel =
  (new FileOutputStream(dstFilename)).getChannel();
  dstChannel.transferFrom(srcChannel, 0L, srcChannel.size());
  srcChannel.close();
  dstChannel.close();
  }
  catch (Exception e)
  {
  log.error( "copy [ " + srcFilename + "] to [ " + dstFilename + "] except: " + e);
  }
}

环境:
  操作系统: windows 2000 server SP4
  java虚拟机:1.4.2

请路过的朋友发表自己的看法,比较棘手的一个问题?难道是操作系统的bug,还是java的bug?

------解决方法--------------------------------------------------------
我的没有问题

import java.net.*;
import java.util.*;
import java.io.*;
import java.nio.*;
import java.nio.channels.*;

class Test
{
public static void main(String[] args)
{
copyFlie(args[0],args[1]);
  }
 
  public static void copyFlie(String srcFilename, String dstFilename)
{
  try
  {
  FileChannel srcChannel =
  (new FileInputStream(srcFilename)).getChannel();
  FileChannel dstChannel =
  (new FileOutputStream(dstFilename)).getChannel();
  dstChannel.transferFrom(srcChannel, 0L, srcChannel.size());
  srcChannel.close();
  dstChannel.close();
  }
  catch (Exception e)
  {
  e.printStackTrace();
  //log.error( "copy [ " + srcFilename + "] to [ " + dstFilename + "] except: " + e);
  }
}
}

java Test C:\1.txt C:\2.txt
------解决方法--------------------------------------------------------
这么大的文件啊,那我没有试过。不过我试用用COS上传组件时也用这个方法进行文件拷贝,也没有出现错误,而且文件是600M大啊。

        

热点排行