对于想了解php获取目录下的文件文件名的读者,本文将提供新的信息,我们将详细介绍php获取目录下的文件文件名和文件名,并且为您提供关于33.1File获取目录下的所有文件及子目录、Golang获取目录
对于想了解php获取目录下的文件 文件名的读者,本文将提供新的信息,我们将详细介绍php获取目录下的文件 文件名和文件名,并且为您提供关于33.1 File 获取目录下的所有文件及子目录、Golang获取目录下的文件及目录信息操作、Java 获取目录下的所有文件、Java 获取目录以及子目录下的 sql 文件的有价值信息。
本文目录一览:- php获取目录下的文件 文件名(php获取目录下的文件 文件名和文件名)
- 33.1 File 获取目录下的所有文件及子目录
- Golang获取目录下的文件及目录信息操作
- Java 获取目录下的所有文件
- Java 获取目录以及子目录下的 sql 文件
php获取目录下的文件 文件名(php获取目录下的文件 文件名和文件名)
说明
这个是扫描一个项目的文件目录下的文件名
然后进行比较如果存在返回true
$file = scandir('../storage/framework/sessions');
if (in_array(session()->getId(),$file)){
return dd('ok');
}
33.1 File 获取目录下的所有文件及子目录
重要获取功能
String[] list() 返回当前路径下所有的文件和文件夹名称
//注意:只有指向文件夹的File对象才可以调用该方法(指向文件的file对象使用list会报错npe)
File[] listFiles() //获取的是file对象,可以再使用file的get等方法拿到需要的东西。
static File[] listRoots() //返回的是所有盘符
public class FileDemo3重要获取功能 {
public static void main(String[] args) {
listFileMethod();
// listMethod();
System.out.println("-----------");
listRootsMethod();
}
private static void listRootsMethod() {
File[] fs = File.listRoots();
for(File fn : fs) {
System.out.println(fn);
}
}
private static void listFileMethod() {
File f = new File("D:\\java\\demo\\demo001");
File[] fs = f.listFiles();
for (File fn :fs) {
// System.out.println(fn.getName());
System.out.println(fn);
}
}
private static void listMethod() {
File f = new File("D:\\java\\demo\\demo001");
// System.out.println(f.getAbsolutePath());
String[] fs = f.list();
// System.out.println(fs);
for(int i=0;i<fs.length;i++) {
System.out.println(fs[i]);
}
}
}
输出
Golang获取目录下的文件及目录信息操作
一、获取当前目录下的文件或目录信息(不包含多级子目录)
func main() { pwd,_ := os.Getwd() //获取文件或目录相关信息 fileInfoList,err := ioutil.ReadDir(pwd) if err != nil { log.Fatal(err) } fmt.Println(len(fileInfoList)) for i := range fileInfoList { fmt.Println(fileInfoList[i].Name()) //打印当前文件或目录下的文件或目录名 } }
二、获取当前目录下的文件或目录名(不包含多级子目录)
package main import ( "os" "io/ioutil" "log" "fmt" "path/filepath" ) func main() { pwd,_ := os.Getwd() //获取当前目录下的文件或目录名(包含路径) filepathNames,err := filepath.Glob(filepath.Join(pwd,"*")) if err != nil { log.Fatal(err) } for i := range filepathNames { fmt.Println(filepathNames[i]) //打印path } }
三、获取当前文件或目录下的所有文件或目录信息(包括子目录)
package main import ( "os" "io/ioutil" "log" "fmt" "path/filepath" ) func main() { pwd,_ := os.Getwd() //获取当前目录下的所有文件或目录信息 filepath.Walk(pwd,func(path string, info os.FileInfo, err error) error{ fmt.Println(path) //打印path信息 fmt.Println(info.Name()) //打印文件或目录名 return nil }) }
补充:Golang ioutil.ReadDir 读取目录下的内容
ioutil中提供了一个非常翻遍的函数函数ReadDir,他读取目录并返回排好序的文件以及子目录名([]os.FileInfo)
example:编写程序输出某目录下的所有文件。
package main import ( "io/ioutil" "fmt" "os" ) func listAll(path string, curHier int) { readerInfos ,err := ioutil.ReadDir(path) if err != nil { fmt.Println(err) return } for _, info := range readerInfos { if info.IsDir() { for tmpheir := curHier; tmpheir >0; tmpheir-- { fmt.Printf("|\t") } fmt.Println(info.Name(),"\\") listAll(path + "\\" + info.Name(),curHier+1) }else { for tmpheir := curHier ;tmpheir >0; tmpheir-- { fmt.Printf("|\t") } fmt.Println(info.Name()) } } } func main() { dir := os.Args[1] listAll(dir,0) }
我是在win10 环境中试验。成功
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
- golang逐行读取文件的操作
- golang解析yaml文件操作
- Golang 文件操作:删除指定的文件方式
- Golang 编译成DLL文件的操作
- golang如何操作csv文件详解
- Golang文件读写操作详情
Java 获取目录下的所有文件
//获取目录下的所有文件
private List<File> getFiles(String dir,FilenameFilter filenameFilter){
List<File> result = new LinkedList<File>();
File path = new File(dir);
File[] files = path.listFiles(filenameFilter);
for(File file : files) {
if(file.isDirectory()) {
List<File> fileList = getFiles(file.getAbsolutePath(),filenameFilter);
if(CollectionUtils.isNotEmpty(fileList)){
result.addAll(fileList);
}
}
if(file.isFile()){
result.add(file);
}
}
return result;
}
Java 获取目录以及子目录下的 sql 文件
问题:得到指定目录以及子目录下指定后缀名的文件,这里是得到 sql 文件
项目文件结构是这样式的
比如我传参 F:/sql 需要得到所有文件夹中的 sql 文件。
解决方案:
用到了 FilenameFilter 以及 递归。
首先我们实现 FilenameFiltre 接口,重写 accept 方法
import java.io.File;
import java.io.FilenameFilter;
public class SqlFileFilter implements FilenameFilter {
@Override
public boolean accept(File dir, String name) {
if (dir.isDirectory())
return true;
if (name.toLowerCase().endsWith(".sql"))
return true;
else
return false;
}
}
再者,我们写一个通用的递归调用方法
public static List<File> listFile(File dir, FilenameFilter ff,
boolean recursive) {
List<File> list = new ArrayList<File>();
File[] files = dir.listFiles(ff);
if (files != null && files.length > 0) {
for (File f : files) {
// 如果是文件,添加文件到list中
if (f.isFile()) {
list.add(f);
}
// 获取子目录中的文件,添加子目录中的经过过滤的所有文件添加到list
else if (recursive) {
list.addAll(listFile(f, ff, true));
}
}
}
return list;
}
其中第三个参数表示是否递归。
测试:
public static void main(String[] args) {
File file = new File("F:/javaresource/checktools/sql/");
List<File> files = listFile(file, new SqlFileFilter(), true);
for (File s : files) {
System.out.println(s);
}
}
结果:
关于php获取目录下的文件 文件名和php获取目录下的文件 文件名和文件名的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于33.1 File 获取目录下的所有文件及子目录、Golang获取目录下的文件及目录信息操作、Java 获取目录下的所有文件、Java 获取目录以及子目录下的 sql 文件等相关内容,可以在本站寻找。
本文标签: