黑马程序员技术交流社区

标题: 带扩展名的复制,结果失败了,代码如下,求指点 [打印本页]

作者: 我自信我很牛    时间: 2013-3-30 21:39
标题: 带扩展名的复制,结果失败了,代码如下,求指点
  1. public static void main(String[] args) throws IOException {
  2.                 String path = input();
  3.                 String ex=path.substring( path.lastIndexOf("."));
  4.                 try(
  5.                         BufferedInputStream fis = new BufferedInputStream(new FileInputStream(path));
  6.                         BufferedOutputStream fos=new BufferedOutputStream(new FileOutputStream("copy."+ex));
  7.                                 ){
  8.                         int x=0;
  9.                         while ((x=fis.read())!=-1) {
  10.                                 fos.write(x);
  11.                         }
  12.                 }
  13.                 first(path,ex);
  14.         }

  15.         private static String input() {
  16.                 Scanner sc=new Scanner(System.in);
  17.                 String path=sc.nextLine();
  18.                 return path;
  19.         }
复制代码

作者: 我自信我很牛    时间: 2013-3-30 21:40
问题补充:那个first()不要考虑,是我写的别的方法和这个没关系.
作者: VOIDMAIN    时间: 2013-3-30 23:27
你那个扩展名不知道传进来的是什么内容,这种写法没什么问题,

但是你fos.write(x);这是写的什么啊,0?你查一下API看看字符流的发送格式。
作者: 黄玉昆    时间: 2013-4-5 08:16
如果仍有问题,请继续追问,如果问题已解决,请将分类改为已解决,谢谢
作者: 王川    时间: 2013-4-7 10:53
BufferedOutputStream 是缓冲流,将读取的内容放在了缓冲区,你需要刷新一下,fos.flush().这个问题确实有点郁闷.我之前也遇到过




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2