Tôi có một tệp có chứa khoảng 200.000 giá trị dài mà tôi muốn đọc nhanh nhất có thể thành một [] dài. Nó dành cho một ứng dụng Android; chức năng gọi chậm (vì vậy bất cứ điều gì liên quan đến việc đọc một thời gian dài với một vòng lặp "cho" sẽ được siêu chậm) và tôi cần tải để được nhanh chóng. Tôi có thể sử dụng cái gì? Tất cả mọi thứ tôi nhìn vào dường như chỉ đọc byte nhanh.Cách nhanh nhất để đọc dài [] từ tệp?
Tôi đã sử dụng ByteBuffer
và FileChannel
từ gói NIO trước đây và điều này có vẻ là một cách thực sự nhanh để tải mảng giá trị từ tệp. Tuy nhiên, tôi không thể tìm ra cách sử dụng để đọc dữ liệu thành một [] dài. Tôi đã cố gắng gói dài [] như một LongBuffer, nhưng tôi không thể nhìn thấy bất kỳ cách nào tôi có thể ăn dữ liệu từ một tập tin vào một LongBuffer.
Chỉnh sửa: Dù phương pháp nào tôi sử dụng, tôi cần có thể sử dụng Arrays.binarySearch
trên mảng long[]
ở cuối.
Tôi không chắc chắn cách thức trợ giúp này. Tôi không thể thấy cách họ trả lời câu hỏi của tôi. – memcom