欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 资讯 > 花几千上万学习Java,真没必要!(三十六)

花几千上万学习Java,真没必要!(三十六)

2026/1/2 2:50:07 来源:https://blog.csdn.net/wehpd/article/details/140807215  浏览:    关键词:花几千上万学习Java,真没必要!(三十六)

1、File类:

测试代码1:

package filetest.com;
import java.io.File;  
import java.io.IOException;  
public class FileOperations {  public static void main(String[] args) {  // 创建新文件File file = new File("example.txt");  try {  if (file.createNewFile()) {  System.out.println("文件 example.txt 创建成功");  } else {  System.out.println("文件 example.txt 已存在");  }  } catch (IOException e) {  e.printStackTrace();  }  // 创建单级目录的示例  File dir = new File("singleDir");  if (dir.mkdir()) {  System.out.println("单级目录 singleDir 创建成功");  } else {  System.out.println("单级目录 singleDir 已存在或无法创建");  }  // 创建多级目录的示例  File dirs = new File("multiLevelDir/level2/level3");  if (dirs.mkdirs()) {  System.out.println("多级目录 multiLevelDir/level2/level3 创建成功");  } else {  System.out.println("多级目录 multiLevelDir/level2/level3 已存在或无法创建");  }  }  
}

运行结果如下:

  

测试代码2:

package filetest.com;
import java.io.File;public class FileOperationExample {public static void main(String[] args) {File file = new File("example");// 判断文件是否为目录和文件System.out.println("isDirectory: " + file.isDirectory());System.out.println("isFile: " + file.isFile());// 判断文件是否存在System.out.println("exists: " + file.exists());// 获取绝对路径,路径和文件名System.out.println("getAbsolutePath: " + file.getAbsolutePath());System.out.println("getPath: " + file.getPath());System.out.println("getName: " + file.getName());// 列出文件目录中的文件和目录if(file.isDirectory()){String[] fileList = file.list();if(fileList != null) {System.out.println("Files and directories in the directory:");for(String name : fileList){System.out.println(name);}} else {System.out.println("No files or directories in the directory.");}} else {System.out.println("The file is not a directory.");}// 删除文件或目录if(file.exists()){if(file.delete()){System.out.println("File deleted successfully.");} else {System.out.println("Failed to delete the file.");}} else {System.out.println("File does not exist.");}}
}

运行结果如下:

 

3、递归调用:

测试代码;

package filetest.com;
public class FactorialExample {  public static void main(String[] args) {  // 调用递归函数计算20的阶乘,并输出结果  System.out.println("100的阶乘是: " + factorial(20));  }  // 递归函数计算阶乘  public static long factorial(int n) {  // 递归的出口:当n为0或1时,返回1(因为0的阶乘和1的阶乘都定义为1)  if (n <= 1) {  return 1;  }  // 递归步骤:n的阶乘等于n乘以(n-1)的阶乘  return n * factorial(n - 1);  }  
}

运行结果如下:

4、递归遍历目录:

测试代码:

package filetest.com;
import java.io.File;  public class DirectoryTraverser {  public static void main(String[] args) {  // 假设路径是硬编码的,但在实际应用中,你可能希望从命令行参数中获取它  String directoryPath = "E:\\javaproject";  File directory = new File(directoryPath);  // 调用递归方法来遍历目录  traverseDirectory(directory);  }  /**  * 递归遍历目录  *  * @param directory 要遍历的目录  */  public static void traverseDirectory(File directory) {  // 确保这是一个目录  if (directory.isDirectory()) {  // 获取目录下的所有文件和子目录  File[] files = directory.listFiles();  if (files != null) {  for (File file : files) {  // 如果是文件,则打印其绝对路径  if (file.isFile()) {  System.out.println(file.getAbsolutePath());  } else if (file.isDirectory()) {  // 如果是目录,则递归调用此方法  traverseDirectory(file);  }  }  }  } else {  // 如果给定的路径不是目录,可以抛出一个异常或打印一条消息  System.out.println(directory.getAbsolutePath() + " 不是一个目录");  }  }  
}

运行结果如下:

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词