मैं एक कारगर तरीका एक फ़ाइल जिसका आकार बनाने के लिए देख रहा हूँ के लिए उपयोग अज्ञात है लेकिन एमबी से जीबी की सीमा और बेतरतीब ढंग से अपनी सामग्री भर सकते हैं। मैं अंत तक कूदने से पहले 200 बाइट लिख सकता हूं और पिछले 200 बाइट लिख सकता हूं और बीच में जा सकता हूं और वहां लिख सकता हूं। RandomAccessFile
ऐसा करने के लिए कुशल है या इस तरह के नौकरी के लिए बेहतर विकल्प हैं?जावा बड़ी फ़ाइल
उत्तर
हाँ, RandomAccessFile
का उपयोग करें - कि क्या इसके लिए वहाँ है। आप संभवतः एक FileChannel
इस्तेमाल कर सकते हैं, लेकिन मैं RandomAccessFile
पहले के लिए जाना चाहते हैं - यह सरल होने की संभावना है।
ध्यान दें कि आप अंत हिस्सा लेखन के बाद फ़ाइल की "बीच में सम्मिलित करने के लिए" में सक्षम नहीं होगा: मैं किसी भी फाइल सिस्टम जो कि समर्थन करता है, पता नहीं है। मूल रूप से अंतिम अनुभाग लिखने से पहले आपको पूर्ण आकार की आवश्यकता होगी। एक विकल्प अनुक्रमिक रूप से लिखना होगा, अंत तक अंतिम बिट को याद रखना।
आप हमें आप क्या करने की जरूरत है (और आप आकार के बारे में जानकारी होने पर) हम आपको अधिक मदद करने में सक्षम हो सकता है के बारे में अधिक जानकारी देने के कर सकते हैं।
संपादित करें:
import java.io.*;
public class Test
{
// Just for the sake of a simple test program!
public static void main(String[] args) throws Exception
{
RandomAccessFile file = new RandomAccessFile("file.dat", "rw");
file.seek(100);
file.write(0);
file.close();
}
}
इस के बाद बाहर निकल गया है, file.dat
101 बाइट्स लंबे हो जाएगा: एक विशिष्ट आकार के साथ फ़ाइल बनाने के लिए, आप seek()
अंत अतीत और फिर डेटा लिख सकते हैं। (कि नोट सामान्य रूप से आप की कोशिश अंततः आदि का उपयोग करें /)
संपादित करें: के रूप में टिप्पणी में उल्लेख किया coobird, setLength()
भी फ़ाइल का विस्तार होगा - लेकिन यह भी फ़ाइल छोटा कर देते हैं आप लंबाई वर्तमान की तुलना में कम दे देंगे आकार। मूल रूप से धार डेटा लिखने के बारे में आपकी टिप्पणी को देखते हुए, मुझे संदेह है कि खोजना और फिर लिखना बिल्कुल वही व्यवहार है जो आप चाहते हैं। जब आप एक हिस्सा प्राप्त करते हैं, तो बस सही स्थान की तलाश करें, इसे लिखें, और जब फ़ाइल की आवश्यकता हो तो फाइल स्वयं ही विस्तारित होगी।
मैं RandomAccessFile लगता है इस समस्या के लिए ठीक है
RandomAccessFile यह
- 1. जावा मल्टीथ्रेडिंग एक बड़ी फ़ाइल को पढ़ने
- 2. शक्तियों को बड़ी (बड़ी) फ़ाइल
- 3. बड़ी फ़ाइल
- 4. बड़ी फ़ाइल
- 5. एक बड़ी एक्सएमएल फ़ाइल
- 6. जावा सर्वर से बड़ी फ़ाइल स्थानांतरण जावा जर्सी रेस्ट एपीआई
- 7. जावा: बड़ी फाइलें लिखना?
- 8. ट्रिम बड़ी लॉग फ़ाइल
- 9. बड़ी फ़ाइल डाउनलोड
- 10. फ़ाइल अपलोड बहुत बड़ी
- 11. एक बड़ी बाइनरी फ़ाइल
- 12. प्रसंस्करण बड़ी xlsx फ़ाइल
- 13. एक बहुत बड़ी फ़ाइल
- 14. बहुत बड़ी फ़ाइल
- 15. एक बड़ी एक्सएमएल फ़ाइल
- 16. क्लोजर और जावा हीप स्पेस त्रुटि में बड़ी फ़ाइल
- 17. अपाचे grep बड़ी लॉग फ़ाइल
- 18. डेल्फी: कैसे एक बड़ी फ़ाइल
- 19. बड़ी फ़ाइल में स्ट्रिंग सम्मिलन
- 20. पाइथन बड़ी सीएसवी फ़ाइल (numpy)
- 21. जावा: बड़ी लगातार हैश संरचना?
- 22. पोस्टग्रेस कॉपी कैसे करें बड़ी txt फ़ाइल
- 23. बड़ी जावा सूचियों के साथ खराब प्रदर्शन
- 24. मेरी लॉग फ़ाइल बहुत बड़ी है
- 25. स्ट्रिंग एक बड़ी फ़ाइल में php
- 26. बड़ी फ़ाइल में डुप्लिकेट स्ट्रिंग खोजें
- 27. फ़ाइल अपलोड करें बड़ी फ़ाइलें PHP/AJAX
- 28. HTTP बहुत बड़ी फ़ाइल डाउनलोड करें
- 29. कॉपी के बिना बड़ी फ़ाइल विभाजित करें?
- 30. एक बड़ी फ़ाइल में खोजें और बदलें
वहाँ पुनरावृत्ति और लेखन के अलावा अन्य एक उपसर्ग आकार के साथ फ़ाइल बनाने के लिए एक रास्ता है क्या करना चाहिए सब शून्य के या किसी के भरने के लिए? –
इसे प्रतिबिंबित करने के लिए संपादन। –
धन्यवाद, कारण मुझे फ़ाइल में यादृच्छिक भागों को लिखना है, क्या मैं एक धारक ग्राहक को कार्यान्वित कर रहा हूं और टुकड़े फ़ाइल में यादृच्छिक स्थानों के लिए आ जाएंगे, लेकिन मुझे पहले से पता है कि पूरी फाइल का आकार क्या होगा। –