Java遍历D盘所有.jpg .png文件路径file,listFiles,数据库,jdbc,递归【诗书画唱】

遍历D盘下根目录下所有的文件名称

package createFile;
import java.io.File;
public class bianLiAll {
public static void main(String[] args) throws Exception{
File f=new File("D:/集成开发工具");
// 或写成File f=new File("D:/集成开发工具");
//用listFiles获取这个位置下的所有的文件:
File[] fShuZu=f.listFiles();
//遍历获取的所有的文件
for(File i:fShuZu){
// getAbsolutePath:得到绝对路径
System.out.println(i.getAbsolutePath());
}
}
}


遍历D盘下自己选的根目录下所有的.jpg .png结尾的图片文件

package createFile;
import java.io.File;
public class listFiles {
public static void main(String[] args) throws Exception{
File f=new File("D:/集成开发工具");
// 或写成File f=new File("D:/集成开发工具");
File[] fShuZu=f.listFiles();
//用listFiles储存所有的文件
for(File i:fShuZu){
//用if判断得到文件的类型是不是文件
if(i.getName().lastIndexOf(".")!=-1){
//含“.”,得到的就是文件
//如果是文件就用substring截取文件的后缀名
String name=i.getName();//用getName()得到文件的名称
// 下面的一句代码的意思:得到“.”后的所有内容:
String neiRong=name.substring(name.lastIndexOf("."));
if(neiRong.equals(".jpg")||neiRong.equals(".png")){
System.out.println(i.getAbsolutePath());
}
}
}
}
}


遍历D盘下所有的文件名称

package createFile;
import java.io.*;
public class getAll {
public static void main(String[] args) throws Exception{
bianliFangFa("D://");
// 或 File f=new File("D://");
//
// String lujin=f.getAbsolutePath();
// bianli(lujin);
// System.out.println(lujin);//打印的内容为“D:\”
}
public static void bianliFangFa(String chuanLuJing){
File f=new File(chuanLuJing);
if(f.exists()&&f.isDirectory()){
File[] fShuZu=f.listFiles();
for(File i:fShuZu){
if(i.isHidden()){
continue;
}
if(i.isDirectory()&&i.exists()){
bianliFangFa(i.getAbsolutePath());
}
System.out.println(i.getAbsolutePath());
}
}
}
}


遍历D盘下所有的.jpg .png .gif结尾的图片文件


package createFile;
import java.io.*;
public class getOne {
public static void main(String[] args) throws Exception{
bianli("D://");
}
// chuanLuJing:传路径
public static void bianli(String chuanLuJing){
File f=new File(chuanLuJing);
if(f.exists()&&f.isDirectory()){
File[] fShuZu=f.listFiles();
for(File i:fShuZu){
if(i.isHidden()){
continue;
}
if(i.isDirectory()&&i.exists()){
bianli(i.getAbsolutePath());
}
if(i.getName().lastIndexOf(".")!=-1){
// lastIndexOf是从字符串末尾开始检索,检索到子字符,
// 则返回子字符在字符串中的位置,
// (位置从前向后数,最小位为0,
// 也就是从第0位开始算起)未检测到则返回-1
// lastIndexOf("XXX")!=-1表示检测到字符串"XXX"
// 该方法将从尾到头地检索字符串,看它是否含有子串。
// 开始检索的位置在字符串的末尾。如果找到一个searchvalue(要找的值),
// 则返回searchvalue(要找的值)的最后一次出现的位置。
// 字符串中的字符位置是从0开始的。
String houZhuiNeiRong=i.getName().
substring(i.getName().lastIndexOf("."));
if(houZhuiNeiRong.equals(".jpg")||houZhuiNeiRong.equals(".png")){
System.out.println(i.getAbsolutePath());
}
}
}
}
}}


建立数据库表”file”,包含”file_id”,”file_name”列,遍历D盘下所有的文件,将文件名称保存到数据库中

create table files(
file_id int primary key identity(1,1),
file_name nvarchar(2000),
--nvarchar(XXX)中的XXX的数值这里要大,不然会报错
)
select* from files
drop table files


package createFile;
import java.io.*;
import java.sql.Connection;
public class jdbcFlie {
public static Connection con=DBUtilsPreparedStatement.getCon();
public static void main(String[] args) throws Exception{
bianliFangFa("D://");
}
public static void bianliFangFa(String chuanLuJing){
File f=new File(chuanLuJing);
if(f.exists()&&f.isDirectory()){
File[] fShuZu=f.listFiles();
for(File i:fShuZu){
if(i.isHidden()){
continue;
}
if(i.isDirectory()&&i.exists()){
bianliFangFa(i.getAbsolutePath());
// 或写成 bianliFangFa(i.getAbsolutePath().toString());
}
String sql="insert into files values(?)";
DBUtilsPreparedStatement.
ZSG(sql,con,i.getAbsoluteFile().toString());
System.out.println("数据添加到数据库成功");
}
}
}
}


