Hướng dẫn getfile php - getfile php
answer 466 Đối với .NET 4.0 trở lên,
Đối với các phiên bản trước của .NET,
chỉnh sửa: Xin vui lòng đọc các ý kiến. Sự cải thiện mà Paul Farry gợi ý, và vấn đề về trí nhớ / hiệu suất mà Christian.K chỉ ra đều rất quan trọng. Xin vui lòng đọc các ý kiến. Sự cải thiện mà Paul Farry gợi ý, và vấn đề về trí nhớ / hiệu suất mà Christian.K chỉ ra đều rất quan trọng. 466 hữu ích 5 bình luận chia sẻ 5 bình luận chia sẻ answer 52 Còn cái này thì sao:
Tôi tìm thấy nó ở đây (trong các ý kiến): http://msdn.microsoft.com/en-us/l Library / wz42302f.aspxhttp://msdn.microsoft.com/en-us/l Library / wz42302f.aspx 52 hữu ích 5 bình luận chia sẻ 5 bình luận chia sẻ answer 29 Nếu bạn có một danh sách lớn các tiện ích mở rộng để kiểm tra, bạn có thể sử dụng các mục sau. Tôi không muốn tạo ra nhiều câu lệnh OR vì vậy tôi đã sửa đổi những gì lette đã viết.Tôi không muốn tạo ra nhiều câu lệnh OR vì vậy tôi đã sửa đổi những gì lette đã viết.
29 hữu ích 5 bình luận chia sẻ 5 bình luận chia sẻ answer 27 cho
Bạn có thể:
Nhưng lợi ích thực sự của việc 7hiển thị khi bạn tách các bộ lọc và hợp nhất các kết quả:
Sẽ nhanh hơn một chút nếu bạn không phải biến chúng thành những khối u (tức là 8đã có).Đánh giá hiệu suất dựa trên thử nghiệm LinqPad sau đây (lưu ý: 9chỉ cần lặp lại 10000 lần đại biểu) https://gist.github.com/zaus/7454021(đăng lại và mở rộng từ 'trùng lặp' vì câu hỏi đó đặc biệt yêu cầu không có LINQ: Nhiều phần mở rộng tệp tìm kiếm Mô hình cho System.IO.Directory.GetFiles )Nhiều phần mở rộng tệp tìm kiếm Mô hình cho System.IO.Directory.GetFiles ) 27 hữu ích 5 bình luận chia sẻ 5 bình luận chia sẻ answer 15 Tôi biết đó là câu hỏi cũ nhưng LINQ: (.NET40 +)
15 hữu ích 1 bình luận chia sẻ 1 bình luận chia sẻ answer 11 Một cách khác để sử dụng Linq, nhưng không phải trả lại mọi thứ và lọc trên đó trong bộ nhớ.
Đó thực sự là 2 cuộc gọi 0, nhưng tôi nghĩ nó phù hợp với tinh thần
của câu hỏi và trả lại chúng trong một số lượng lớn.11 hữu ích 2 bình luận chia sẻ 2 bình luận chia sẻ answer 9 Ngoài ra còn có một giải pháp gốc mà dường như không có bất kỳ bộ nhớ hoặc hiệu năng nào và khá thanh lịch:
9 hữu ích 2 bình luận chia sẻ 2 bình luận chia sẻ answer 7 Không. Hãy thử như sau:Hãy thử như sau: 0 Lấy từ: http://bloss.msdn.com/markda/archive/2006/04/20/580075.aspxhttp://bloss.msdn.com/markda/archive/2006/04/20/580075.aspx 7 hữu ích 0 bình luận chia sẻ 0 bình luận chia sẻ answer 6 Để cho 1Sau đó 2hoặc là 36 hữu ích 1 bình luận chia sẻ 1 bình luận chia sẻ answer 5 Tôi không thể sử dụng 1phương pháp vì tôi đang lập trình trong .NET Framework 2.0 (Linq chỉ được hỗ trợ trong .NET Framework 3.5+).Mã dưới đây không phân biệt chữ hoa chữ thường (vì vậy 2hoặc 3sẽ được liệt kê quá). 45 hữu ích 0 bình luận chia sẻ 0 bình luận chia sẻ answer 4 Hàm sau tìm kiếm trên nhiều mẫu, được phân tách bằng dấu phẩy. Bạn cũng có thể chỉ định loại trừ, ví dụ: "! Web.config" sẽ tìm kiếm tất cả các tệp và loại trừ "web.config". Các mẫu có thể được trộn lẫn.Bạn cũng có thể chỉ định loại trừ, ví dụ: "! Web.config" sẽ tìm kiếm tất cả các tệp và loại trừ "web.config". Các mẫu có thể được trộn lẫn. 5Sử dụng: 64 hữu ích 0 bình luận chia sẻ 0 bình luận chia sẻ answer 4 74 hữu ích 4 bình luận chia sẻ 4 bình luận chia sẻ answer 3 Chỉ cần tìm một cách khác để làm điều đó. Vẫn không phải là một thao tác, nhưng ném nó ra để xem người khác nghĩ gì về nó.Vẫn không phải là một thao tác, nhưng ném nó ra để xem người khác nghĩ gì về nó. 83 hữu ích 0 bình luận chia sẻ 0 bình luận chia sẻ answer 3 Thế còn 93 hữu ích 0 bình luận chia sẻ 0 bình luận chia sẻ answer 2 Thế cònĐiều này hoạt động với .net 2.0 vì nó không sử dụng LINQ. 0Tạo các phần mở rộng bạn muốn một chuỗi tức là ".mp3.jpg.wma.wmf" và sau đó kiểm tra xem mỗi tệp có chứa phần mở rộng bạn muốn không. Điều này hoạt động với .net 2.0 vì nó không sử dụng LINQ. Ưu điểm của phương pháp này là bạn có thể thêm hoặc xóa tiện ích mở rộng mà không cần chỉnh sửa mã tức là để thêm hình ảnh png, chỉ cần viết myExtensions = ". Jpg.mp3.png". 1 bình luận chia sẻ answer 2 12 hữu ích 1 bình luận chia sẻ 0 bình luận chia sẻ answer 2 2 hữu ích 0 bình luận chia sẻ Không ... Tôi tin rằng bạn phải thực hiện nhiều cuộc gọi như loại tệp bạn muốn. Hàm đó sẽ trả về một danh sách chung các tệp khớp với các tiện ích mở rộng tôi đã gửi. Tôi sẽ tự tạo một hàm lấy một chuỗi trên các chuỗi với các phần mở rộng tôi cần và sau đó lặp lại trên mảng đó để thực hiện tất cả các cuộc gọi cần thiết. Hàm đó sẽ trả về một danh sách chung các tệp khớp với các tiện ích mở rộng tôi đã gửi. 2 hữu ích 1 bình luận chia sẻ 0 bình luận chia sẻ answer 2 2 hữu ích 0 bình luận chia sẻ 2Không ... Tôi tin rằng bạn phải thực hiện nhiều cuộc gọi như loại tệp bạn muốn. 32 hữu ích 1 bình luận chia sẻ 0 bình luận chia sẻ answer 2 4Ưu điểm của phương pháp này là bạn có thể thêm hoặc xóa tiện ích mở rộng mà không cần chỉnh sửa mã tức là để thêm hình ảnh png, chỉ cần viết myExtensions = ". Jpg.mp3.png". 1 bình luận chia sẻ answer 1 2 hữu ích 1 bình luận chia sẻ 52 hữu ích 0 bình luận chia sẻ 4chỉ gọi một lần.Không ... Tôi tin rằng bạn phải thực hiện nhiều cuộc gọi như loại tệp bạn muốn. 6Tôi sẽ tự tạo một hàm lấy một chuỗi trên các chuỗi với các phần mở rộng tôi cần và sau đó lặp lại trên mảng đó để thực hiện tất cả các cuộc gọi cần thiết. Hàm đó sẽ trả về một danh sách chung các tệp khớp với các tiện ích mở rộng tôi đã gửi. 7Không ... Tôi tin rằng bạn phải thực hiện nhiều cuộc gọi như loại tệp bạn muốn. 8Tôi sẽ tự tạo một hàm lấy một chuỗi trên các chuỗi với các phần mở rộng tôi cần và sau đó lặp lại trên mảng đó để thực hiện tất cả các cuộc gọi cần thiết. Hàm đó sẽ trả về một danh sách chung các tệp khớp với các tiện ích mở rộng tôi đã gửi. 0 bình luận chia sẻ answer 1 Hy vọng nó giúp. trong .NET 2.0 (không có Linq):
Theo tôi, Tùy chọn 1) tốt hơn, nhưng sử dụng SearchOption.AllDirectories trên các thư mục như C: \ sẽ sử dụng một lượng lớn bộ nhớ. Do đó tôi sẽ chỉ thực hiện một phương thức đệ quy đi qua tất cả các thư mục con bằng cách sử dụng tùy chọn 1) Điều này chỉ gây ra 1 hoạt động GetFiles trên mỗi thư mục và nhanh chóng (Tùy chọn 1), nhưng chỉ sử dụng một lượng bộ nhớ nhỏ vì các bộ lọc được áp dụng sau mỗi lần đọc của thư mục con -> chi phí bị xóa sau mỗi thư mục con. Xin hãy sửa tôi nếu tôi sai. Tôi như tôi đã nói khá mới về lập trình nhưng muốn hiểu sâu hơn về mọi thứ để cuối cùng trở nên giỏi về việc này :)Tôi như tôi đã nói khá mới về lập trình nhưng muốn hiểu sâu hơn về mọi thứ để cuối cùng trở nên giỏi về việc này :) 1 hữu ích 0 bình luận chia sẻ 0 bình luận chia sẻ answer 0 Tôi không biết giải pháp nào tốt hơn, nhưng tôi sử dụng giải pháp này: 90 hữu ích 0 bình luận chia sẻ 0 bình luận chia sẻ answer 0 Tôi không biết giải pháp nào tốt hơn, nhưng tôi sử dụng giải pháp này: 00 hữu ích 0 bình luận chia sẻ 1Nếu bạn đang sử dụng VB.NET (hoặc nhập phụ thuộc vào dự án C # của bạn), thực sự tồn tại một phương thức tiện lợi cho phép lọc nhiều tiện ích mở rộng: 5.0 hữu ích 0 bình luận chia sẻ 0 bình luận chia sẻ answer 0 Tôi không biết giải pháp nào tốt hơn, nhưng tôi sử dụng giải pháp này:Chẳng hạn, bạn có hai tệp Test1.xls và Test2.xlsx và bạn muốn lọc tệp xls bằng mẫu tìm kiếm * .xls, nhưng GetFiles trả về cả Test1.xls và Test2.xlsx Tôi không biết điều này và đã gặp lỗi khi sản xuất môi trường khi một số tập tin tạm thời đột nhiên được xử lý như tập tin bên phải. Mẫu tìm kiếm là * .txt và các tệp tạm thời được đặt tên * .txt20181028_100753898 Vì vậy, mẫu tìm kiếm không thể tin cậy được, bạn cũng phải thêm kiểm tra tên tệp. 0 hữu ích 0 bình luận chia sẻ 0 bình luận chia sẻ answer 1 Tôi không biết giải pháp nào tốt hơn, nhưng tôi sử dụng giải pháp này: 20 hữu ích 0 bình luận chia sẻ 1 bình luận chia sẻ answer 2 Tôi không biết giải pháp nào tốt hơn, nhưng tôi sử dụng giải pháp này: 30 hữu ích 0 bình luận chia sẻ 1 bình luận chia sẻ |