JAVA IO流读取图片的问题 50

想把这个目录的这个图片放到G:\007\2014-10\linshi\a.jpg放到G:\007\2014-10\a.jpg并且把这个a.jpg名字改成b.jpg用JAV... 想把这个目录的这个图片放到 G:\007\2014-10\linshi\a.jpg
放到 G:\007\2014-10\a.jpg 并且把这个a.jpg名字改成b.jpg
用JAVA代码怎么实现??? 求完整代码 新手 文件流一点不懂 求指教
展开
 我来答
千叶育儿
2014-10-21 · 育儿、诗词分享,每天进步一点点!
千叶育儿
采纳数:1524 获赞数:5379

向TA提问 私信TA
展开全部

参考一下:

//文件原地址 
File oldFile = new File("c:/test.xls"); 
//文件新(目标)地址 
String newPath = "c:/test/"; 
//new一个新文件夹 
File fnewpath = new File(newPath); 
//判断文件夹是否存在 
if(!fnewpath.exists()) 
fnewpath.mkdirs(); 
//将文件移到新文件里 
File fnew = new File(newPath +oldFile.getName()); 
oldFile.renameTo(fnew);
追问
好像应该是要
读取这个图片
然后得到一个流
然后创建一个图片 把刚才得到的那个图片的流放进去
创建图片之前好像可以命名
我感觉是这样的 就是不知道代码怎么写
追答

我这个是移动图片的。有读取流,输出流的方式:

package org.example.io;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

public class TestIOStream {

    /**
     * 
     * DOC 将F盘下的test.jpg文件,读取后,再存到E盘下面.
     * 
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        FileInputStream in = new FileInputStream(new File("F:\\test.jpg"));// 指定要读取的图片
        File file = new File("E:\\test.jpg");
        if (!file.exists()) {// 如果文件不存在,则创建该文件
            file.createNewFile();
        }
        FileOutputStream out = new FileOutputStream(new File("E:\\test.jpg"));// 指定要写入的图片
        int n = 0;// 每次读取的字节长度
        byte[] bb = new byte[1024];// 存储每次读取的内容
        while ((n = in.read(bb)) != -1) {
            out.write(bb, 0, n);// 将读取的内容,写入到输出流当中
        }
        out.close();// 关闭输入输出流
        in.close();
    }

}
倒霉的小可乐
推荐于2017-09-01
知道答主
回答量:18
采纳率:0%
帮助的人:8.6万
展开全部
package io;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class PictureCopy {
public static void main(String[] args) throws IOException {
BufferedInputStream in = new BufferedInputStream(new FileInputStream("E://a//QQ图片20141021152833.jpg"));
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream("E://b//copy.jpg"));
int i;
while((i=in.read())!=-1){
out.write(i);
}
out.flush();

out.close();
in.close();
}
}

//地址换下就行了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4c44215
2014-10-21
知道答主
回答量:35
采纳率:0%
帮助的人:14.7万
展开全部
FileInputStream fi=new FileInputStream("G:/007/2014-10/linshi/a.jpg ");
BufferedInputStream in=new BufferedInputStream(fi);
FileOutputStream fo=new FileOutputStream("G:/007/2014-10/b.jpg");
BufferedOutputStream out=new BufferedOutputStream(fo);
byte[] buf=new byte[1024];
int len=in.read(buf);
//读文件,将读到的内容放入到buf数组中,返回的是读到的长度
while(len!=-1){
out.write(buf, 0, len);
len=in.read(buf);
}
out.close();
fo.close();
in.close();
fi.close();
更多追问追答
追问
先谢谢您   我想再问一下 如果我只知道 G:/007/2014-10/linshi/ 这个目录下有一张图片  但是不知道这张图片叫什么   我想要读这个图片的流 要怎么办?
追答
//这段代码是获取G:/007/2014-10/linshi/这个目录下的文件  获取到了文件 就可以用上面的代码操作了
File dir = new File("G:/007/2014-10/linshi/");
File[] list = dir.listFiles();
for (int i=0; i<list.length; i++) {
if (list[i].isFile()) {//是文件
System.out.println("File "+list[i].getName());
} else if (list[i].isDirectory()) {//是目录
System.out.println("Directory "+list[i].getName());
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式