सभी,java.net.URLConnection.guessContentTypeFromStream और पाठ/सादे
मैं मैक लाइन अंत के साथ सादे पाठ फ़ाइलों की पहचान करने और, एक InputStream अंदर, चुपचाप उन्हें विंडोज या लिनक्स लाइन अंत में बदलने का कोशिश कर रहा हूँ (महत्वपूर्ण भाग एलएफ चरित्र है, वास्तव में)। विशेष रूप से, मैं कई एपीआई के साथ काम कर रहा हूं जो इनपुटस्ट्रीम लेते हैं और \ n न्यूलाइन के रूप में देखने के लिए हार्ड-लॉक होते हैं।
कभी-कभी, मुझे बाइनरी फाइलें मिलती हैं। जाहिर है, एक फ़ाइल जो टेक्स्ट-जैसी नहीं है, इस प्रतिस्थापन को नहीं किया जाना चाहिए, क्योंकि \ n के अनुरूप होने वाला मान स्पष्ट रूप से \ n \ n चीजों को खराब तरीके से उलझाने के बिना चुपचाप नहीं किया जा सकता है।
मैं java.net.URLConnection.guessContentTypeFromStream
का उपयोग करने का प्रयास कर रहा हूं और यदि टेक्स्ट टेक्स्ट/सादा है तो केवल एंडलाइन रूपांतरण कर रहा हूं। दुर्भाग्यवश, "text/plain"
रिटर्न मूल्यों के अपने भाग्य में प्रतीत नहीं होता है; मुझे अपने फ्लैट टेक्स्ट फ़ाइलों के लिए null
मिल गया है, और यह संभवतः सुरक्षित नहीं है कि सभी अज्ञात फ़ाइलों को संशोधित किया जा सके।
क्या बेहतर लाइब्रेरी (अधिमानतः सार्वजनिक मेवेन रिपोजिटरी और ओपन-सोर्स में) क्या मैं ऐसा करने के लिए उपयोग कर सकता हूं? वैकल्पिक रूप से, मैं अनुमान कैसे कर सकता हूं सामग्री के लिए मेरे लिए काम कर सकते हैं? मुझे पता है कि मैं एक स्वाभाविक रूप से खतरनाक अनुप्रयोग का वर्णन कर रहा हूं और कोई समाधान सही नहीं हो सकता है, लेकिन क्या मुझे "शून्य" का इलाज "पाठ/सादा" होने की संभावना है और मुझे बस इतना सबूत लिखने की आवश्यकता है कि यह सबूत है कि यह नहीं है 'टी?
"गैमट" के लिए +1। – skaffman