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代码怎么实现??? 求完整代码 新手 文件流一点不懂 求指教 展开
放到 G:\007\2014-10\a.jpg 并且把这个a.jpg名字改成b.jpg
用JAVA代码怎么实现??? 求完整代码 新手 文件流一点不懂 求指教 展开
3个回答
展开全部
参考一下:
//文件原地址
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();
}
}
展开全部
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();
}
}
//地址换下就行了
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();
}
}
//地址换下就行了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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();
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());
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询