在整个硬盘搜索一个文件.并将该文件的路径提取出来

思路:

使用DriveInfo.GetDrives可以获得所有分区

通过DriveInfo.IsReady能判断是否可用

然后遍历分区,再递归文件夹搜索

用DirectoryInfo类就够了
它的两个方法
GetDirectories 返回当前目录的子目录
GetFiles  返回当前目录的文件列表 

 

最后提取路径的地方改一下

// For Directory.GetFiles and Directory.GetDirectories
// For File.Exists, Directory.Exists
using System;
using System.IO;
using System.Collections;

public class RecursiveFileProcessor
{
   
public static void Main(string[] args)
    {
       
foreach(string path in args)
        {
           
if(File.Exists(path))
            {
               
// This path is a file
                ProcessFile(path);
            }              
           
else if(Directory.Exists(path))
            {
               
// This path is a directory
                ProcessDirectory(path);
            }
           
else
            {
                Console.WriteLine(
"{0} is not a valid file or directory.", path);
            }       
        }       
    }


   
// Process all files in the directory passed in, recurse on any directories
   
// that are found, and process the files they contain.
    public static void ProcessDirectory(string targetDirectory)
    {
       
// Process the list of files found in the directory.
        string [] fileEntries = Directory.GetFiles(targetDirectory);
       
foreach(string fileName in fileEntries)
            ProcessFile(fileName);

       
// Recurse into subdirectories of this directory.
        string [] subdirectoryEntries = Directory.GetDirectories(targetDirectory);
       
foreach(string subdirectory in subdirectoryEntries)
            ProcessDirectory(subdirectory);
    }

   
// Insert logic for processing found files here.
    public static void ProcessFile(string path)
    {
        Console.WriteLine(
"Processed file '{0}'.", path);       
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的文件上传的Java代码,基于Servlet和JSP技术实现: 1. 在JSP页面中添加一个表单,用于上传文件: ``` <form action="UploadServlet" method="post" enctype="multipart/form-data"> <input type="file" name="file"> <input type="submit" value="上传"> </form> ``` 2. 创建一个Servlet类,用于处理文件上传请求: ``` public class UploadServlet extends HttpServlet { private static final long serialVersionUID = 1L; private static final String UPLOAD_DIRECTORY = "uploads"; private static final int MEMORY_THRESHOLD = 1024 * 1024 * 3; // 3MB private static final int MAX_FILE_SIZE = 1024 * 1024 * 40; // 40MB private static final int MAX_REQUEST_SIZE = 1024 * 1024 * 50; // 50MB protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 检查请求是否包含文件 if (!ServletFileUpload.isMultipartContent(request)) { PrintWriter writer = response.getWriter(); writer.println("错误:表单必须包含 enctype=multipart/form-data 属性"); writer.flush(); return; } // 配置上传参数 DiskFileItemFactory factory = new DiskFileItemFactory(); // 设置内存临界值 - 超过后将产生临时文件并存储于临时目录中 factory.setSizeThreshold(MEMORY_THRESHOLD); // 设置临时存储目录 factory.setRepository(new File(System.getProperty("java.io.tmpdir"))); ServletFileUpload upload = new ServletFileUpload(factory); // 设置最大文件上传值 upload.setFileSizeMax(MAX_FILE_SIZE); // 设置最大请求值 (包含文件和表单数据) upload.setSizeMax(MAX_REQUEST_SIZE); // 中文处理 upload.setHeaderEncoding("UTF-8"); // 构造临时路径来存储上传的文件 // 这个路径相对当前应用的目录 String uploadPath = getServletContext().getRealPath("/") + File.separator + UPLOAD_DIRECTORY; // 如果目录不存在则创建 File uploadDir = new File(uploadPath); if (!uploadDir.exists()) { uploadDir.mkdir(); } try { // 解析请求的内容提取文件数据 List<FileItem> formItems = upload.parseRequest(request); if (formItems != null && formItems.size() > 0) { // 迭代表单数据 for (FileItem item : formItems) { // 处理不在表单中的字段 if (!item.isFormField()) { String fileName = new File(item.getName()).getName(); String filePath = uploadPath + File.separator + fileName; File storeFile = new File(filePath); // 在控制台输出文件的上传路径 System.out.println(filePath); // 保存文件硬盘 item.write(storeFile); request.setAttribute("message", "文件上传成功!"); } } } } catch (Exception ex) { request.setAttribute("message", "错误信息: " + ex.getMessage()); } // 跳转到结果页面 getServletContext().getRequestDispatcher("/result.jsp").forward( request, response); } } ``` 3. 创建一个JSP页面,用于显示上传结果: ``` <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>文件上传结果</title> </head> <body> <h3>${message}</h3> </body> </html> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值