Java图片复制
⑴ java把图片复制过后怎么打不开
该图片可能不是JPG图片
可能是其他文件把扩展改成JPG的了
⑵ java怎样复制图片
图片本质上还是文件,所以就像复制文件一样就可以了。下面是一个演示程序:
publicclassCopyImage
{
publicstaticvoidmain(String[]args)throwsException
{
FileInputStreamfi=newFileInputStream("image.jpg");
BufferedInputStreamin=newBufferedInputStream(fi);
FileOutputStreamfo=newFileOutputStream("cimage.jpg");
BufferedOutputStreamout=newBufferedOutputStream(fo);
byte[]buf=newbyte[4096];
intlen=in.read(buf);
while(len!=-1)
{
out.write(buf,0,len);
len=in.read(buf);
}
out.close();
fo.close();
in.close();
fi.close();
}
}
运行程序是改一改图片的路径,另外在实际代码中最后不要想上面的代码直接抛出这样的异常。
public static void File(File sourceFile, File targetFile) throws IOException {
BufferedInputStream inBuff=null;
BufferedOutputStream outBuff=null;
try {
// 新建文件输入流并对它进行缓冲
inBuff=new BufferedInputStream(new FileInputStream(sourceFile));
// 新建文件输出流并对它进行缓冲
outBuff=new BufferedOutputStream(new FileOutputStream(targetFile));
// 缓冲数组
byte[] b=new byte[1024 * 5];
int len;
while((len=inBuff.read(b)) != -1) {
outBuff.write(b, 0, len);
}
// 刷新此缓冲的输出流
outBuff.flush();
} finally {
// 关闭流
if(inBuff != null)
inBuff.close();
if(outBuff != null)
outBuff.close();
}
}
⑷ 如何把windows图片复制到java程序
拖着图片拖到你的文件夹里面,然后就能够用程序调用了啊
⑸ 求一个Java无损压缩图片的示例,把原图片复制到指定目录,按原图比例改变尺寸,不影响图片质量。
图片压缩就是讲图片的内存变小 对象数坑定有印象 你将压缩率改小一点 调整一下压缩率 到自己满意为止
⑹ java如何复制文件(包括图片等其他格式的文件)
使用FileInputStream和FileOutputStream,一个读,一个写就行了
public void (String srcPath, String destPath) throws IOException {
FileInputStream is = new FileInputStream(srcPath);
FileOutputStream os = new FileOutputStream(destPath);
byte[] buffer = new byte[4096];
while (is.available() > 0) {
int n = is.read(buffer);
os.write(buffer, 0, n);
}
is.close();
os.close();
}
⑺ Java使用FileReader和PrintWriter复制的图片无法打开为什么
参考一下:
importjava.io.BufferedInputStream;
importjava.io.BufferedOutputStream;
importjava.io.FileInputStream;
importjava.io.FileOutputStream;
importjava.io.IOException;
publicclassPictureCopy{
publicstaticvoidmain(String[]args)throwsIOException{
BufferedInputStreamin=newBufferedInputStream(newFileInputStream("E://a//QQ图片2011152833.jpg"));
BufferedOutputStreamout=newBufferedOutputStream(newFileOutputStream("E://b//.jpg"));
inti;
while((i=in.read())!=-1){
out.write(i);
}
out.flush();
out.close();
in.close();
}
}
⑻ 在Java中,怎样将图片从一个地方复制到另一个地方(最好有代码)
JDK宝典里有这样的一段代码,你调用File方法就可以了:
/**
* 复制单个文件, 如果目标文件存在,则不覆盖。
* @param srcFileName 待复制的文件名
* @param destFileName 目标文件名
* @return 如果复制成功,则返回true,否则返回false
*/
public static boolean File(String srcFileName, String destFileName){
return CopyFileUtil.File(srcFileName, destFileName, false);
}
/**
* 复制单个文件
* @param srcFileName 待复制的文件名
* @param destFileName 目标文件名
* @param overlay 如果目标文件存在,是否覆盖
* @return 如果复制成功,则返回true,否则返回false
*/
public static boolean File(String srcFileName,
String destFileName, boolean overlay) {
//判断原文件是否存在
File srcFile = new File(srcFileName);
if (!srcFile.exists()){
System.out.println("复制文件失败:原文件" + srcFileName + "不存在!");
return false;
} else if (!srcFile.isFile()){
System.out.println("复制文件失败:" + srcFileName + "不是一个文件!");
return false;
}
//判断目标文件是否存在
File destFile = new File(destFileName);
if (destFile.exists()){
//如果目标文件存在,而且复制时允许覆盖。
if (overlay){
//删除已存在的目标文件,无论目标文件是目录还是单个文件
System.out.println("目标文件已存在,准备删除它!");
if(!DeleteFileUtil.delete(destFileName)){
System.out.println("复制文件失败:删除目标文件" + destFileName + "失败!");
return false;
}
} else {
System.out.println("复制文件失败:目标文件" + destFileName + "已存在!");
return false;
}
} else {
if (!destFile.getParentFile().exists()){
//如果目标文件所在的目录不存在,则创建目录
System.out.println("目标文件所在的目录不存在,准备创建它!");
if(!destFile.getParentFile().mkdirs()){
System.out.println("复制文件失败:创建目标文件所在的目录失败!" );
return false;
}
}
}
//准备复制文件
int byteread = 0;//读取的位数
InputStream in = null;
OutputStream out = null;
try {
//打开原文件
in = new FileInputStream(srcFile);
//打开连接到目标文件的输出流
out = new FileOutputStream(destFile);
byte[] buffer = new byte[1024];
//一次读取1024个字节,当byteread为-1时表示文件已经读完
while ((byteread = in.read(buffer)) != -1) {
//将读取的字节写入输出流
out.write(buffer, 0, byteread);
}
System.out.println("复制单个文件" + srcFileName + "至" + destFileName + "成功!");
return true;
} catch (Exception e) {
System.out.println("复制文件失败:" + e.getMessage());
return false;
} finally {
//关闭输入输出流,注意先关闭输出流,再关闭输入流
if (out != null){
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (in != null){
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
⑼ 用Java编写一个程序,将一个图像文件复制到指定的文件夹中
这是我们公司基类里的一个方法希望对你有帮助。。/**
* 复制单个文件
* @param oldPath String 原文件路径 如:c:/fqf.txt
* @param newPath String 复制后路径 如:f:/fqf.txt
* @return boolean
*/
public void File(String oldPath, String newPath) {
try {
int bytesum = 0;
int byteread = 0;
File oldfile = new File(oldPath);
if (oldfile.exists()) { //文件存在时
InputStream inStream = new FileInputStream(oldPath); //读入原文件
FileOutputStream fs = new FileOutputStream(newPath);
byte[] buffer = new byte[1444];
int length;
while ( (byteread = inStream.read(buffer)) != -1) {
bytesum += byteread; //字节数 文件大小
// System.out.println(bytesum);
fs.write(buffer, 0, byteread);
}
inStream.close();
}
}
catch (Exception e) {
System.out.println("复制单个文件操作出错");
e.printStackTrace(); } }
⑽ JAVA怎么将一个图片复制到文件夹中去
JDK宝典里有这样的一段代码,你调用File方法就可以了:
/**
* 复制单个文件, 如果目标文件存在,则不覆盖。
* @param srcFileName 待复制的文件名
* @param destFileName 目标文件名
* @return 如果复制成功,则返回true,否则返回false
*/
public static boolean File(String srcFileName, String destFileName){
return CopyFileUtil.File(srcFileName, destFileName, false);
}
/**
* 复制单个文件
* @param srcFileName 待复制的文件名
* @param destFileName 目标文件名
* @param overlay 如果目标文件存在,是否覆盖
* @return 如果复制成功,则返回true,否则返回false
*/
public static boolean File(String srcFileName,
String destFileName, boolean overlay) {
//判断原文件是否存在
File srcFile = new File(srcFileName);
if (!srcFile.exists()){
System.out.println("复制文件失败:原文件" + srcFileName + "不存在!");
return false;
} else if (!srcFile.isFile()){
System.out.println("复制文件失败:" + srcFileName + "不是一个文件!");
return false;
}
//判断目标文件是否存在
File destFile = new File(destFileName);
if (destFile.exists()){
//如果目标文件存在,而且复制时允许覆盖。
if (overlay){
//删除已存在的目标文件,无论目标文件是目录还是单个文件
System.out.println("目标文件已存在,准备删除它!");
if(!DeleteFileUtil.delete(destFileName)){
System.out.println("复制文件失败:删除目标文件" + destFileName + "失败!");
return false;
}
} else {
System.out.println("复制文件失败:目标文件" + destFileName + "已存在!");
return false;
}
} else {
if (!destFile.getParentFile().exists()){
//如果目标文件所在的目录不存在,则创建目录
System.out.println("目标文件所在的目录不存在,准备创建它!");
if(!destFile.getParentFile().mkdirs()){
System.out.println("复制文件失败:创建目标文件所在的目录失败!" );
return false;
}
}
}
//准备复制文件
int byteread = 0;//读取的位数
InputStream in = null;
OutputStream out = null;
try {
//打开原文件
in = new FileInputStream(srcFile);
//打开连接到目标文件的输出流
out = new FileOutputStream(destFile);
byte[] buffer = new byte[1024];
//一次读取1024个字节,当byteread为-1时表示文件已经读完
while ((byteread = in.read(buffer)) != -1) {
//将读取的字节写入输出流
out.write(buffer, 0, byteread);
}
System.out.println("复制单个文件" + srcFileName + "至" + destFileName + "成功!");
return true;
} catch (Exception e) {
System.out.println("复制文件失败:" + e.getMessage());
return false;
} finally {
//关闭输入输出流,注意先关闭输出流,再关闭输入流
if (out != null){
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (in != null){
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}