批量讀取本地檔案夾下的圖檔,并逐一添加水印
import java.io.File;
import java.util.ArrayList;
import java.util.List;
/**
* @Author: wangyh
* @Date: 2020/12/1 16:20
*/
public class WaterMarkService {
/**
* 題目圖檔添加水印
*/
public static void main(String[] args) {
//本地檔案夾路徑
String path = "D:\\Documents\\WeChat Files\\wxid_mnz1tvs5yxb522\\FileStorage\\File\\2020-12\\2021全品國小國文總複習";
File f = new File(path);
List<String> list = new ArrayList<>();
//擷取題目中需要添加水印的圖檔url路徑
List<String> imagePath = getImagePath(f, list);
for (String s : imagePath) {
//添加水印
ImageWatermarkUtil.ImageByText(s);
System.out.println(s);
}
}
/**
* 遞歸讀取某個檔案夾下的圖檔,并傳回其位址
* @param file
* @param paths
* @return
*/
public static List<String> getImagePath(File file, List<String> paths) {
if (!file.isDirectory()) {
String fileName = file.getName();
String fileType = fileName.substring(fileName.lastIndexOf(".") + 1);
if (fileType.equalsIgnoreCase("jpg") || fileType.equalsIgnoreCase("png") || fileType.equalsIgnoreCase("jpeg")) {
String absolutePath = file.getAbsolutePath();
paths.add(absolutePath);
}
} else {
File[] files = file.listFiles();
for (File f : files) {
getImagePath(f, paths);
}
}
return paths;
}
}
控制台列印的位址如下:
D:\Documents\WeChat Files\wxid_mnz1tvs5yxb522\FileStorage\File\2020-12\2021全品國小國文總複習\考點串講\第一部分\專題一\新考題.png
D:\Documents\WeChat Files\wxid_mnz1tvs5yxb522\FileStorage\File\2020-12\2021全品國小國文總複習\考點串講\第一部分\專題一\考點1.png
D:\Documents\WeChat Files\wxid_mnz1tvs5yxb522\FileStorage\File\2020-12\2021全品國小國文總複習\考點串講\第一部分\專題一\考點2.png
D:\Documents\WeChat Files\wxid_mnz1tvs5yxb522\FileStorage\File\2020-12\2021全品國小國文總複習\考點串講\第一部分\專題一\考點3.png
D:\Documents\WeChat Files\wxid_mnz1tvs5yxb522\FileStorage\File\2020-12\2021全品國小國文總複習\考點串講\第一部分\專題一\考點4.png
D:\Documents\WeChat Files\wxid_mnz1tvs5yxb522\FileStorage\File\2020-12\2021全品國小國文總複習\考點串講\第一部分\專題一\考點5.png
D:\Documents\WeChat Files\wxid_mnz1tvs5yxb522\FileStorage\File\2020-12\2021全品國小國文總複習\考點串講\第一部分\專題二\第1講\考點1.png
D:\Documents\WeChat Files\wxid_mnz1tvs5yxb522\FileStorage\File\2020-12\2021全品國小國文總複習\考點串講\第一部分\專題二\第1講\考點2.png
D:\Documents\WeChat Files\wxid_mnz1tvs5yxb522\FileStorage\File\2020-12\2021全品國小國文總複習\考點串講\第一部分\專題二\第1講\考點3.png
D:\Documents\WeChat Files\wxid_mnz1tvs5yxb522\FileStorage\File\2020-12\2021全品國小國文總複習\考點串講\第一部分\專題二\第1講\考點4.png
D:\Documents\WeChat Files\wxid_mnz1tvs5yxb522\FileStorage\File\2020-12\2021全品國小國文總複習\考點串講\第一部分\專題二\第2講\考點1.png
D:\Documents\WeChat Files\wxid_mnz1tvs5yxb522\FileStorage\File\2020-12\2021全品國小國文總複習\考點串講\第一部分\專題二\第2講\考點2.png
D:\Documents\WeChat Files\wxid_mnz1tvs5yxb522\FileStorage\File\2020-12\2021全品國小國文總複習\考點串講\第一部分\專題二\第2講\考點3.png
D:\Documents\WeChat Files\wxid_mnz1tvs5yxb522\FileStorage\File\2020-12\2021全品國小國文總複習\考點串講\第一部分\專題二\第2講\考點4.png
Process finished with exit code 0
java給圖檔添加平鋪文字水印并保留原像素(一)