package java2.pack1;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
/**
* Created by fhqplzj on 16-10-21 at 下午10:19.
*/
public class SameOrNot {
private static final String path = "/home/fhqplzj/IdeaProjects/DocumentClustering/out/pictures";
/**
* 比较两幅图片是否一样a
*
* @param pic1
* @param pic2
* @return
*/
private static boolean isSame(String pic1, String pic2) {
try {
FileInputStream file1 = new FileInputStream(String.format("%s/%s", path, pic1));
FileInputStream file2 = new FileInputStream(String.format("%s/%s", path, pic2));
if (file1.available() != file2.available()) {
return false;
}
for (int i = 0; i < file1.available(); i++) {
if (file1.read() != file2.read()) {
return false;
}
}
} catch (IOException e) {
e.printStackTrace();
}
return true;
}
private static void distinct() {
File file = new File(path);
File[] files = file.listFiles();
Objects.requireNonNull(files);
Arrays.sort(files, (o1, o2) -> Long.compare(o1.length(), o2.length()));
int i = 0;
for (int j = 1; j < files.length; j++) {
if (!isSame(files[i].getName(), files[j].getName())) {
swap(files, ++i, j);
} else {
boolean b = files[j].delete();
if (b) {
System.out.println("deleted");
} else {
System.out.println("bad");
}
}
}
}
private static void swap(File[] files, int i, int j) {
File tmp = files[i];
files[i] = files[j];
files[j] = tmp;
}
private static void rename() {
File file = new File(path);
File[] files = file.listFiles();
Objects.requireNonNull(files);
Arrays.sort(files, (o1, o2) -> {
Integer x = Integer.valueOf(o1.getName().substring(3));
Integer y = Integer.valueOf(o2.getName().substring(3));
return Integer.compare(x, y);
});
int id = 0;
for (File file1 : files) {
String prev = file1.getName();
String fileName = String.format("%s/pic%d", file1.getParent(), ++id);
boolean b = file1.renameTo(new File(fileName));
if (b) {
System.out.println(String.format("successful rename %s to %s", prev, file1.getName()));
} else {
System.err.println("fail to rename");
}
}
}
public static void main(String[] args) {
rename();
}
}
瞎写的一些函数
最新推荐文章于 2021-05-30 21:29:09 发布