Java-IO流实际运用(表情包搜索归类)
作者:互联网
学习IO流已经很久了,但是一直都没实际运用过。今天在保存群聊里的表情包时候觉得效率太低,便写了一个简易的控制台程序帮我保存。
这就是qq存放图片的地址,以前是直接放一堆,不用提取了,现在改成这种多文件夹形式,人工一个一个打开未免太慢
上代码
public static void main(String[] args) {
//设置文件路径,把22735改成自己计算机名即可
File file = new File("C:\\Users\\计算机名\\Documents\\Tencent Files\\想要获取的QQ号\\Image\\Group2");
fun(file);
}
public static void fun(File dir) {
//调用listFiles方法对目录进行遍历
File[] filearr = dir.listFiles();
for (File file : filearr)
{
if (file.isDirectory())
{
fun(file);//判断如果是文件夹就继续调用遍历目录下内容的方法,形成递归
}else {
if(file.getName().indexOf(".")>0){
copy(file,new File("C:Users\\计算机名\\Documents\\Tencent Files\\想要获取的QQ号\\Image\\存放地址\\"+file.getName()));
}
}
}
}
public static void copy(File file, File destFile) {
FileInputStream ins = null;
FileOutputStream ios = null;
try{
ins = new FileInputStream(file);
ios = new FileOutputStream(destFile);
byte[] buf = new byte[1024];
int size = 0;
while((size = ins.read(buf))!=-1){
ios.write(buf,0,size);
}
}
catch (IOException e){
e.printStackTrace();
}
}
其实原理很简单,就是从image一直向下寻找,形成递归查找,遇到后缀名为图片格式的就复制到想要存放的地址里面去
行了 一张一张看到自己喜欢的保存就行,以后再写个ai自动识别二次元妹妹自动保存…
标签:Java,file,IO,void,归类,static,File,new,public 来源: https://blog.csdn.net/qq_36008278/article/details/114881464