java 实现文件复制和格式更改的实例_java

复制代码 代码如下:

package com.chen.lucene.image;

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

public class Change2Image
{
 /**复制文件
  *
  * @author chen_weixian
  * Mar 11, 2012   11:33:19 PM
  * @param path 需要复制文件的路径
  * @param savePath 文件保存路径(复制到的路径)
  * @throws Exception
  */
 public void change2Image(String path, String savePath) throws Exception
 {
  File file = new File(path);
  if (!file.exists())
  {
   System.out.println("文件不存在!");
   return ;
  }
  // 复制到的路径如不存在就创建
  File saveFile = new File(savePath);
  if (!saveFile.exists())
  {
   saveFile.mkdirs();
  }
  // 新文件全路径
  String savePathNew = "";
  for (File fbean : file.listFiles())
  {
   if (fbean.isFile())
   {
    System.out.println(fbean.getName() + "\t" + fbean.getAbsolutePath());
//    savePathNew = savePath + File.separator + fbean.getName()+ ".jpg";
    // 把文件名称中含有.tbi格式的转化为.jpg格式 
    savePathNew = savePath + File.separator + (fbean.getName().replaceAll(".tbi", ".jpg"));
    // 开始复制
             copy(fbean ,new File(savePathNew));     
   }
  }
 }

 /**拷贝文件
  *
  * @author chen_weixian
  * Mar 11, 2012   11:31:59 PM
  * @param fromFile
  * @param toFile
  * @throws Exception
  */
 private static void copy(File fromFile, File toFile) throws Exception{ 
  if (!fromFile.exists())
  {
   System.out.println("来源文件为空!");
  }
  if (!toFile.exists())
  {
   System.out.println("创建新文件。。");
   toFile.createNewFile();
  }
  FileInputStream  fis = new FileInputStream(fromFile);
        System.out.println("fromFile :" + fromFile.getAbsolutePath());
        FileOutputStream fos = new FileOutputStream(toFile);
        System.out.println("toFile :" + toFile.getAbsolutePath());

        int len = 0; 
        byte[] buf = new byte[1024]; 
        while((len = fis.read(buf)) != -1){ 
         fos.write(buf,0,len); 
        }

        fis.close(); 
        fos.close(); 

    } 

 /** 测试
  * @author chen_weixian
  * Mar 11, 2012   10:19:56 PM
  * @param args
  */
 public static void main(String[] args)
 {
//  String path = "E:/temp";
  String path = "E:/temp/3月份数据包(1)/3月份数据包";
  String savePath = "E:/temp/img";
  Change2Image change2Image = new Change2Image();
  try
  {
   change2Image.change2Image(path, savePath);
  }
  catch (Exception e)
  {
   e.printStackTrace();
  }
  System.out.println("完成");
 }

}

时间: 2024-10-11 22:52:54

java 实现文件复制和格式更改的实例_java的相关文章

java在文件尾部追加内容的简单实例_java

如下所示: import java.io.FileWriter; import java.io.IOException; import java.io.RandomAccessFile; /** * 将内容追加到文件尾部. * @author haicheng.cao * */ public class AppendToFile { /** * A方法追加文件:使用RandomAccessFile */ public static void appendMethodA(String fileNa

java实现文件复制、剪切文件和删除示例_java

复制代码 代码如下: import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException; /** * Java实现文件复制.剪切.删除操作 * 文件指文件或文件夹 * 文件分割符统一用"\\" */ public class FileOperateDemo {     /**     * 复制文件或文件夹     * @param s

纯Java实现数字证书生成签名的简单实例_java

package com.ylsoft.cert; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.security.InvalidKeyException; import java.security.KeyPair; import java.security.KeyPairGenerator;

java 全角半角字符转换的方法实例_java

如果搞明白了Java中全角字符和半角字符之间的关系那他们之间的转换根本就不是个事. 可以通过下面的程序看看Java中所有字符以及对应编码的值 复制代码 代码如下:     public static void main(String[] args) {        for (int i = Character.MIN_VALUE; i <= Character.MAX_VALUE; ++i) {            System.out.println(i + "    "

Java实现一个小说采集程序的简单实例_java

被标题吸引进来的不要骂我. 只是一个简单的实现,随手写了来下载一部喜欢的小说的.示例中的小说只是示例,不是我的菜. 使用了jsoup.挺好用的一个工具. 有需要的话,参考下自己改吧.挺简单的,是吧. 代码如下: package com.zhyea.doggie; import java.io.File; import java.io.FileWriter; import java.io.IOException; import org.jsoup.Jsoup; import org.jsoup.n

java从字符串中提取数字的简单实例_java

随便给你一个含有数字的字符串,比如: String s="eert343dfg56756dtry66fggg89dfgf"; 那我们如何把其中的数字提取出来呢?大致有以下几种方法,正则表达式,集合类,还有就是String类提供的方法. 1 String类提供的方法: package 测试练习; import Java.util.*; public class get_StringNum { /** *2016.10.25 */ public static void main(Strin

java反射拼接方法名动态执行方法实例_java

近期由于负责项目的一个模块,该模块下有很多分类,每个分类都有一个编码code,这个值是作为一个参数携带过来的.但是每个code确实对应一个方法的. code的值有很多个,自己又不想做ifelse或者switch判断于是就狂搜资料,主要让我发现利用java的反射机制可以完美的解决这个问题 测试代码如下:(可以携带多个参数哦) package com.escs.xmlutils; import java.lang.reflect.Method; public class Test { public

用Java程序判断是否是闰年的简单实例_java

我们知道,(1)如果是整百的年份,能被400整除的,是闰年:(2)如果不是整百的年份,能被4整除的,也是闰年.每400年,有97个闰年.鉴于此,程序可以作以下设计: 第一步,判断年份是否被400整除,能的话,就是闰年.比如1600.2000.2400年是闰年. 第二步,在第一步不成立的基础上,判断年份能否被100整除,如果是,则不是闰年.比如1900.2100.2200年不是闰年. 第三步,在第二步不成立的基础上,判断年份能否被4整除,如果是,则是闰年.比如1996.2004.2008年是闰年.

Java锁之阻塞锁介绍和代码实例_java

锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized 和 ReentrantLock等等 ) .这些已经写好提供的锁为我们开发提供了便利,但是锁的具体性质以及类型却很少被提及.本系列文章将分析JAVA下常见的锁名称以及特性,为大家答疑解惑. 阻塞锁 阻塞锁,与自旋锁不同,改变了线程的运行状态. 在JAVA环境中,线程Thread有如下几个状态: 1,新建状态 2,就绪状态 3,运行状态 4,阻塞状态 5,死亡状态 阻塞锁,可以说是让线程进入阻塞状态进行等待