- 浏览: 123847 次
- 性别:
- 来自: 地球
文章分类
最新评论
-
754731046:
很适合对初学者适用,谢谢
Oracle存储过程详解 -
天明破晓:
我测试了,不好用
Java中的正则表达式验证各种电话号码 -
OracleX:
otom31 写道从来不用标签库,几乎不用struts,除了最 ...
标签库的优点、缺点大辩论 -
otom31:
从来不用标签库,几乎不用struts,除了最早公司要使用以外; ...
标签库的优点、缺点大辩论
近日闲来无事看一些资料,一些有用的资料都是影印版的,想在上面做笔记无从下手,想到了把这些转换成word,但影印版的pdf转换成word非常麻烦,需要把影印的资料从pdf中提取出来,然后再用汉王等软件把提取出来的图片转换成word。但转换工具对图片格式有要求,比如:bmp、rtf等,而得到图片都是jpg格式的,有500多张需要全部转换。第一时间想到了在网上找转换图片格式的软件,寻找过程中发现有人通过Java代码实现了这一功能。这让一直在用Java的我汗颜:我怎么没想到呢,我也要写出来(虽然大多数情况下不要重复发明轮子)。其实也很简单,只需要简单的几句话就行,但发现写好不容易,只是改了文件的后缀名,并没有真正修改文件格式
ChangeFileFormat.java
import java.io.File; public class ChangeFileFormat { public static void main(String args[]) { long start = System.currentTimeMillis(); String format1 = ReadProperties.getProperty("beforeFormat"); String format2 = ReadProperties.getProperty("afterFormat"); String fileName = ReadProperties.getProperty("dir"); changeFormat(fileName, format1, format2); long end = System.currentTimeMillis(); System.out.println("共耗时:" + (end - start)); } public static void changeFormat(String fileName, String beforeFormat, String afterFormat) { File file = new File(fileName); if (file.exists()) { String fileRoot = file.getAbsolutePath(); // D:\1 String[] arr = file.list(); // 取得目录下所有的文件( 数组的形式) if (arr != null && arr.length > 0) { // 遍历数组 for (int i = 0; i < arr.length; i++) { if (arr[i].substring(arr[i].length() - 3, arr[i].length()) .equals(beforeFormat)) { File tempFile = new File(fileRoot + "//" + arr[i]); // 获得某个具体的文件 // 修改格式 String str = arr[i].replaceAll(beforeFormat, afterFormat); boolean b = tempFile.renameTo(new File(fileRoot + "//" + str)); // 判断是否成功 if (b) { System.out.println("ok"); } else { System.out.println("wrong"); } } } } } else { System.out.println("所指定的目录不存在,将为你创建指定的目录"); file.mkdir(); } } }
ReadProperties.java
import java.io.IOException; import java.util.Properties; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; public class ReadProperties { private static final String fileName = "resource.properties"; private static final Properties properties = new Properties(); private static final Log log = LogFactory.getLog(ReadProperties.class); //需要commons-logging-1.1.1.jar static { try { //从输入流中读取属性列表(键和元素对) properties.load(ReadProperties.class.getResourceAsStream(fileName)); } catch (IOException e) { log.error("读取配置文件出错: " + fileName); e.printStackTrace(); } } public static String getProperty(String key) { // getProperty(String key) ----- 用指定的键在此属性列表中搜索属性 return properties.getProperty(key) != null ? properties.getProperty(key) : null; } }
resource.properties
#转换前的格式 beforeFormat=jpg #转换后的格式 afterFormat=bmp #文件目录 dir=d:/2
- commons-logging-1.1.1.jar (59.3 KB)
- 下载次数: 2
发表评论
-
AOP的实现(JDK动态代理)
2011-11-29 16:21 1006转自:http://www.blogjava.net/D ... -
Java 枚举7常见种用法
2011-11-27 22:54 893转自:http://helloyesyes.itey ... -
一个Java程序员应该掌握的10项技能
2011-11-18 11:57 10191、语法:必须比 ... -
Java回调函数使用
2011-08-16 16:14 720正常情况下开发人员使用已经定义好的API,这个过程叫 ... -
为什么要设置Java环境变量(详解)
2011-08-17 21:40 684从大二开始接触Java,之后是断断续续的学习。大三真正开始 ... -
很长空格的String转换成Array数组
2011-08-23 14:40 1301开发中碰到了一个需求,需要把键值对字符串分隔,但键值之 ... -
不同格式的日期字符串转换
2011-08-23 14:44 957先把字符串日期转换成对应的格式,然后再转换成日期 p ... -
用序列化(Serializable)保存、读取对象
2011-08-23 15:33 873实现Serializable借口的对象可以被转换成一系列 ... -
JUint测试
2011-08-23 15:36 664ClassA.java public class Cla ... -
解决Join方法的疑惑
2011-08-23 20:57 1013很长时间对join方法感到疑惑,不明白到底是谁要阻塞,谁要继 ... -
线程学习笔记【1】----进程、线程概念及创建线程
2011-08-27 22:33 8081.进程与线程 每个进程都独享一块内存空间,一个应用程 ... -
线程学习笔记【2】---Timer(定时器)
2011-08-28 09:15 785入门 public class Time01 { ... -
线程学习笔记【3】---互斥技术
2011-08-29 15:10 755第一个示例更多的是运用了内部类的特性: 内部类重要特点:可以 ... -
线程学习笔记【4】---线程之间通信
2011-08-29 17:31 753子线程先循环10次,然后主线程循环100次,再子线程循环10次 ... -
线程学习笔记【5】--ThreadLocal应用
2011-09-05 15:31 804基本的ThreadLocal使用 public clas ... -
各种创建单例模式的优缺点
2011-09-05 21:54 831单例模式应用于一个类只有一个实例的情况,并且为其实例提供一个全 ... -
格式化简单例子
2011-11-04 16:35 822参考:http://android.blog.51cto.co ... -
图片上传源码(commons-fileupload-1.2.2)分析
2011-11-03 11:20 2063题记:文章是供自己查看方便,所以没有进行格式化,请见谅 ... -
用序列化(Serializable)保存、读取对象
2011-08-23 15:56 922实现Serializable借口的对象可以被转换成一系 ... -
IO各种流使用清晰区别
2011-08-10 11:39 848引用:http://www.iteye.com/topic/1 ...
相关推荐
开发中需要的图片资源一般都是.png格式的,那么手里一推.jpg格式图片怎么装换成.png 格式的呢。 用脚本放在该图片对应的文件夹下,双击批处理文件即可批量更改
"批量修改图片格式.zip" 文件提供了一个解决方案,它包含一个批处理(bat)脚本,能够帮助用户快速、高效地更改大量图片的格式。 批处理脚本是基于DOS命令行环境的一种自动化工具,它可以执行一系列预定义的命令,...
批量修改图片格式能够快速将所有图片统一为特定格式,如将所有图片转换为适合网页的JPEG或PNG,或者为了优化移动设备加载速度,将所有图片转换为更小的WebP格式。 该工具的“批量”功能是其核心优势。用户可以一次...
### Python实现批量修改图片格式和大小的方法 在本篇文章中,我们将深入探讨如何利用Python中的两种流行库——OpenCV和PIL(Pillow),来批量修改图片的格式和大小。这两种方法各有优势,并且适用于不同的场景。...
批量修改文件格式,下载后保存在自己图片的文件内,双击运行即可完成批量修改。
本篇文章将详细讲解如何使用Go语言编写一个批量修改照片大小的命令行工具,以及相关的核心知识点。 首先,我们需要了解Go语言的基础知识。Go语言由Google公司开发,它支持面向对象编程,提供了丰富的标准库,如`os`...
批量设置图片格式的方法不仅限于居中对齐,还可以应用于调整大小、更改边框样式、设置透明度等多种属性。这些技巧让Word成为一个强大的图像处理工具,能够满足用户在文档编辑过程中的多样化需求。 总之,熟练掌握...
这段代码实现了一个简单的图片格式转换程序,使用了tkinter库创建了一个图形界面窗口,让用户可以选择要将图片转换成的格式。 check_and_create_folders()函数用于检查并创建名为"Old_Img"和"New_Img"的文件夹。如果...
本主题聚焦于一个特定的应用场景:使用C#进行批量图片格式转换。这是一个常见的需求,例如在处理大量图像数据时,可能需要将JPEG转换为PNG,或将PNG转换为更轻量级的WebP格式,以优化存储空间或提高加载速度。 首先...
3. **图片批量格式转换**:不同的图片格式有不同的用途和优势。例如,JPEG适合网络分享,PNG适合保留透明背景,而RAW格式则保留了原始数据,适合后期处理。批量格式转换工具可以帮助用户快速将一批图片转换成所需的...
批量修改图片大小是一项常见的任务,能够显著提高工作效率。本篇文章将详细讲解如何使用C#编程语言来实现这个功能,特别关注通过百分比调整图片尺寸的方法。 首先,我们要了解C#中的基本图像处理概念。在C#中,我们...
【原创】照片/图片批量处理工具,基于.netframework4.7.2,支持功能: 1、批量修改文件名;2、批量调整像素尺寸;3、批量修改图片格式;4、批量添加文字水印;5、批量图像增强处理;6、批量图片加密/解密;
7. **模块化编程**:为了保持代码的可读性和可维护性,项目描述中提到的“功能模块化”意味着将不同的任务封装到单独的函数或类中,例如,可以创建一个“调整图片大小”的函数和一个“转换图片格式”的函数。...
例如,"批量更改图片大小工具.exe"可能就是这样一个实用程序,它能帮助用户快速调整一批图片的大小。 在使用这类工具时,用户通常需要选择输入目录,包含待处理的图片,然后设置输出目录,用于保存调整后的图片。...
它是一个实用的小程序,适用于那些需要快速调整图片格式、尺寸、分辨率的用户。 首先,我们要理解“批量操作”的概念。批量操作是指一次可以处理多个文件或对象,而不是逐一单独操作。在本例中,批量修改和裁剪图片...
本文将详细介绍如何使用Python来实现批量修改图片的格式和尺寸。首先,我们需要导入必要的库,包括PIL(Python Imaging Library)用于处理图片,win32库用于处理Windows系统中的隐藏文件,以及send2trash库用于将...
3. **转换格式**:要更改图片格式,通常需要创建一个新的Bitmap对象,指定目标格式,然后使用绘图API将原始图像绘制到新的Bitmap上。例如,如果要将JPEG转换为PNG,可以创建一个新Bitmap,指定其ImageFormat为PNG,...
批量修改图片大小就是这样一个关键环节,它能够极大地提高工作效率,避免了逐一手动调整每张图片尺寸的繁琐过程。本文将深入探讨批量修改图片大小的工具及其工作原理,并提供关于如何使用此类工具的实用建议。 批量...
同时,考虑到不同的图片格式(如JPEG、PNG、BMP等),源码可能需要对每种格式进行适配,因为它们的压缩方式和存储结构有所不同。 总的来说,这个易语言源码展示了如何利用编程技术解决实际问题,即批量修改图片尺寸...