使用Java遍历文件和目录
我有一个小代码,它可以返回任何目录下的文件列表 我需要做的是获取第一个给定目录下的使用Java遍历文件和目录,java,file,directory,traversal,Java,File,Directory,Traversal,我有一个小代码,它可以返回任何目录下的文件列表 我需要做的是获取第一个给定目录下的目录和文件 这是我正在使用的代码 File dir = new File("C:/myDocument/myFolder"); String[] children = dir.list(); if (children == null) { } else { for (int i=0; i<children.length; i++) {
目录
和文件
这是我正在使用的代码
File dir = new File("C:/myDocument/myFolder");
String[] children = dir.list();
if (children == null) {
} else {
for (int i=0; i<children.length; i++) {
String filename = children[i];
System.out.println(filename);
}
}
File dir=新文件(“C:/myDocument/myFolder”);
String[]children=dir.list();
if(children==null){
}否则{
对于(inti=0;iYes),正斜杠是可以的。它们被规范化为依赖于操作系统的分隔符
错误告诉您的是,\m
是无效的转义序列。每个反斜杠尝试转义以下字符。因此,如果字符串中需要反斜杠,请使用双斜杠:“c:\\myDocuments\\myFolder”
为了获取目录和文件,您可以使用.listFiles()
,然后检查它是否是目录。是的,正斜杠可以。它们被规范化为依赖于操作系统的分隔符
错误告诉您的是,\m
是无效的转义序列。每个反斜杠尝试转义以下字符。因此,如果字符串中需要反斜杠,请使用双斜杠:“c:\\myDocuments\\myFolder”
为了获取目录和文件,您可以使用.listFiles()
,然后检查它是否是目录。我使用类似的方法清除给定的文件夹
private static void deleteTree(File file)
{
if(file.isDirectory())
{
File afile[] = file.listFiles();
System.out.println("Directory: " + file.getFilename);
if(afile.length > 0)
{
for(int i = 0; i < afile.length; i++)
{
if(afile[i].isDirectory())
System.out.println("Directory: " + afile[i].getFilename);
deleteTree(afile[i]);
else
System.out.println("File: " + afile[i].getFilename);
}
}
} else {
System.out.println("File: " + file.getFilename);
}
}
私有静态void deleteTree(文件)
{
if(file.isDirectory())
{
File afile[]=File.listFiles();
System.out.println(“目录:“+file.getFilename”);
如果(文件长度>0)
{
for(int i=0;i
我使用类似的方法清除给定文件夹
private static void deleteTree(File file)
{
if(file.isDirectory())
{
File afile[] = file.listFiles();
System.out.println("Directory: " + file.getFilename);
if(afile.length > 0)
{
for(int i = 0; i < afile.length; i++)
{
if(afile[i].isDirectory())
System.out.println("Directory: " + afile[i].getFilename);
deleteTree(afile[i]);
else
System.out.println("File: " + afile[i].getFilename);
}
}
} else {
System.out.println("File: " + file.getFilename);
}
}
私有静态void deleteTree(文件)
{
if(file.isDirectory())
{
File afile[]=File.listFiles();
System.out.println(“目录:“+file.getFilename”);
如果(文件长度>0)
{
for(int i=0;i
您可以滥用File.list(FilenameFilter)进行文件遍历,例如:
// list files in dir
new File(dir).list(new FilenameFilter() {
public boolean accept(File dir, String name) {
String file = dir.getAbsolutePath() + File.separator + name;
System.out.println(file);
return false;
}
});
您可以滥用File.list(FilenameFilter)进行文件遍历,例如:
// list files in dir
new File(dir).list(new FilenameFilter() {
public boolean accept(File dir, String name) {
String file = dir.getAbsolutePath() + File.separator + name;
System.out.println(file);
return false;
}
});
好的,那么第一部分呢?好的,那么第一部分呢?\是Java中的转义字符,用于转义Java字符串中包含的特殊字符。如果您想在Java字符串中包含双引号,则需要转义它们,例如,在给出示例时,sostring foo=“I'm\'bad\”
如果您想在字符串中包含一个\字符,则需要使用另一个\字符对其进行转义,因此您的文件路径如下:C:\\myFolder\\myFolder
。只要看一下API就可以回答您的所有问题。此外,您编写的代码有什么问题?它看起来应该做您想做的事情您需要它来帮助。\n是Java中的转义字符,用于转义Java字符串中包含的特殊字符。如果您想在Java字符串中包含双引号,则需要转义它们,如sostring foo=“I'm\'bad\”在给出示例时
如果您想在字符串中包含一个\字符,则需要使用另一个\字符对其进行转义,因此您的文件路径如下:C:\\myFolder\\myFolder
。只要看一下API就可以回答您的所有问题。此外,您编写的代码有什么问题?它看起来应该做您想做的事情你需要它来帮助你。