`
OracleX
  • 浏览: 123861 次
  • 性别: Icon_minigender_1
  • 来自: 地球
社区版块
存档分类
最新评论

批量修改图片格式

    博客分类:
  • J2SE
 
阅读更多

近日闲来无事看一些资料,一些有用的资料都是影印版的,想在上面做笔记无从下手,想到了把这些转换成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

 

分享到:
评论

相关推荐

    批量更改图片格式工具

    开发中需要的图片资源一般都是.png格式的,那么手里一推.jpg格式图片怎么装换成.png 格式的呢。 用脚本放在该图片对应的文件夹下,双击批处理文件即可批量更改

    批量修改图片格式.zip

    "批量修改图片格式.zip" 文件提供了一个解决方案,它包含一个批处理(bat)脚本,能够帮助用户快速、高效地更改大量图片的格式。 批处理脚本是基于DOS命令行环境的一种自动化工具,它可以执行一系列预定义的命令,...

    图片大小、格式批量修改

    批量修改图片格式能够快速将所有图片统一为特定格式,如将所有图片转换为适合网页的JPEG或PNG,或者为了优化移动设备加载速度,将所有图片转换为更小的WebP格式。 该工具的“批量”功能是其核心优势。用户可以一次...

    Python实现批量修改图片格式和大小的方法【opencv库与PIL库】

    ### Python实现批量修改图片格式和大小的方法 在本篇文章中,我们将深入探讨如何利用Python中的两种流行库——OpenCV和PIL(Pillow),来批量修改图片的格式和大小。这两种方法各有优势,并且适用于不同的场景。...

    批量修改图片格式,支持PNG转化为JPG

    批量修改文件格式,下载后保存在自己图片的文件内,双击运行即可完成批量修改。

    Go-批量修改照片大小的命令行工具

    本篇文章将详细讲解如何使用Go语言编写一个批量修改照片大小的命令行工具,以及相关的核心知识点。 首先,我们需要了解Go语言的基础知识。Go语言由Google公司开发,它支持面向对象编程,提供了丰富的标准库,如`os`...

    批量设置图片格式 Word2021能搞定!.docx

    批量设置图片格式的方法不仅限于居中对齐,还可以应用于调整大小、更改边框样式、设置透明度等多种属性。这些技巧让Word成为一个强大的图像处理工具,能够满足用户在文档编辑过程中的多样化需求。 总之,熟练掌握...

    Python一个简单的小程序,实现批量修改图片格式

    这段代码实现了一个简单的图片格式转换程序,使用了tkinter库创建了一个图形界面窗口,让用户可以选择要将图片转换成的格式。 check_and_create_folders()函数用于检查并创建名为"Old_Img"和"New_Img"的文件夹。如果...

    C#批量图片格式转换完整源码

    本主题聚焦于一个特定的应用场景:使用C#进行批量图片格式转换。这是一个常见的需求,例如在处理大量图像数据时,可能需要将JPEG转换为PNG,或将PNG转换为更轻量级的WebP格式,以优化存储空间或提高加载速度。 首先...

    图片批量修改尺寸 图片批量添加水印 图片批量格式转换 批量改名

    3. **图片批量格式转换**:不同的图片格式有不同的用途和优势。例如,JPEG适合网络分享,PNG适合保留透明背景,而RAW格式则保留了原始数据,适合后期处理。批量格式转换工具可以帮助用户快速将一批图片转换成所需的...

    批量修改图片大小

    批量修改图片大小是一项常见的任务,能够显著提高工作效率。本篇文章将详细讲解如何使用C#编程语言来实现这个功能,特别关注通过百分比调整图片尺寸的方法。 首先,我们要了解C#中的基本图像处理概念。在C#中,我们...

    原创照片/图片批量处理工具,支持批量修改文件名、调整像素尺寸、修改图片格式、添加文字水印、图像增强处理、图片加密/解密

    【原创】照片/图片批量处理工具,基于.netframework4.7.2,支持功能: 1、批量修改文件名;2、批量调整像素尺寸;3、批量修改图片格式;4、批量添加文字水印;5、批量图像增强处理;6、批量图片加密/解密;

    VB 图片大小格式批量更改

    7. **模块化编程**:为了保持代码的可读性和可维护性,项目描述中提到的“功能模块化”意味着将不同的任务封装到单独的函数或类中,例如,可以创建一个“调整图片大小”的函数和一个“转换图片格式”的函数。...

    小巧的批量修改图片文件大小

    例如,"批量更改图片大小工具.exe"可能就是这样一个实用程序,它能帮助用户快速调整一批图片的大小。 在使用这类工具时,用户通常需要选择输入目录,包含待处理的图片,然后设置输出目录,用于保存调整后的图片。...

    批量修改、裁剪图片分辨率工具.zip

    它是一个实用的小程序,适用于那些需要快速调整图片格式、尺寸、分辨率的用户。 首先,我们要理解“批量操作”的概念。批量操作是指一次可以处理多个文件或对象,而不是逐一单独操作。在本例中,批量修改和裁剪图片...

    python实现批量修改图片格式和尺寸

    本文将详细介绍如何使用Python来实现批量修改图片的格式和尺寸。首先,我们需要导入必要的库,包括PIL(Python Imaging Library)用于处理图片,win32库用于处理Windows系统中的隐藏文件,以及send2trash库用于将...

    C#282批量图片格式转换 源代码

    3. **转换格式**:要更改图片格式,通常需要创建一个新的Bitmap对象,指定目标格式,然后使用绘图API将原始图像绘制到新的Bitmap上。例如,如果要将JPEG转换为PNG,可以创建一个新Bitmap,指定其ImageFormat为PNG,...

    批量修改图片大小工具

    批量修改图片大小就是这样一个关键环节,它能够极大地提高工作效率,避免了逐一手动调整每张图片尺寸的繁琐过程。本文将深入探讨批量修改图片大小的工具及其工作原理,并提供关于如何使用此类工具的实用建议。 批量...

    易语言批量修改图片尺寸源码

    同时,考虑到不同的图片格式(如JPEG、PNG、BMP等),源码可能需要对每种格式进行适配,因为它们的压缩方式和存储结构有所不同。 总的来说,这个易语言源码展示了如何利用编程技术解决实际问题,即批量修改图片尺寸...

Global site tag (gtag.js) - Google Analytics