A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 微笑=.一瞬间 山林野马   /  2014-4-11 16:50  /  952 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

import java.io.*;
class BufferedCopy
{
        public static void main(String[] args)
        {
                FileInputStream fis=null;
                FileOutputStream fos=null;
                try
                {
                        fis=new FileInputStream("11.jpg");
                        fos=new FileOutputStream("44.jpg");
                        BufferedInputStream bis=new BufferedInputStream(fis);
                        BufferedOutputStream bos=new BufferedOutputStream(fos);

                        int ch=0;
                        while((ch=bis.read())!=-1)
                        {
                                bos.write(ch);
                        }
                }
                catch (IOException e)
                {
                }

        }
}
这个程序在doc命令下运行复制的文件就在当前文件下可以运行
为什么到了Myeclipse下运行复制的文件到那去了 怎么在当前文件夹下找不到(11.jpg文件已考到当前目录下了,为什么会找不到11.jpg 异常呢)

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

2 个回复

正序浏览
我写下了我的理解,你可以看看,主要是你那个相对路径在eclipse是不一样的,建议以后在不知道的情况下打印下绝对路径,一目了然
  1. package com.itheima;

  2. import java.io.BufferedInputStream;
  3. import java.io.BufferedOutputStream;
  4. import java.io.File;
  5. import java.io.FileInputStream;
  6. import java.io.FileOutputStream;
  7. import java.io.IOException;

  8. public class Test3 {

  9.          public static void main(String[] args)
  10.      {
  11.              FileInputStream fis=null;
  12.              FileOutputStream fos=null;
  13.              try
  14.              {
  15.                                   
  16.                      File filein = new File("11.jpg");//在内存中创建一个文件对象,这个对象可以不存在与硬盘在!在eclipse中的相对路径是,不存在就不会写。
  17.                      System.out.println(filein.getAbsolutePath());//D:\Users\Administrator\workspace_cn\SBS\11.jpg
  18.                      File fileout = new File("44.jpg");//这个文件的路径是class文件的包的外层目录
  19.                      System.out.println(fileout.getAbsolutePath());//D:\Users\Administrator\workspace_cn\SBS\44.jpg
  20.                     
  21.                      fis= new FileInputStream(filein);//filein这个绝对目录下有11.jpg就可以复制,路径和44.jpg一样
  22.                      fos = new FileOutputStream(fileout);
  23.                      BufferedInputStream bis=new BufferedInputStream(fis);//创建缓冲读取流,套接fis
  24.                      BufferedOutputStream bos=new BufferedOutputStream(fos);//创建缓冲写入流,套接fos
  25.                      int ch=0;
  26.                      while((ch=bis.read())!=-1)
  27.                      {
  28.                              bos.write(ch);
  29.                      }
  30.              }
  31.              catch (IOException e)
  32.              {
  33.              }

  34.      }
  35. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 lwy0319 于 2014-4-11 17:56 编辑

如果你要用相对路径的话,需要把图片拷贝到与软件的工作空间下的项目名的文件夹内的,你可以提供所谓当前文件夹更多的信息我们来参照,如果还是不行,先用绝对路径来检查一下。

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马