2012-12-20 11 views
5

के साथ फ़ाइलों को हैंडलाइन करते समय काम नहीं कर रहा था, मैं टेक्स्ट फ़ाइल से सामग्री पढ़कर एक मेल भेजने की कोशिश कर रहा हूं।नई लाइन कमांड ( n) टॉमकैट

फ़ाइल मैं

Line 1 
Line 2 
Line 3 

मैं JUnit के साथ कोड का परीक्षण किया है और मैं पाठ फ़ाइल में के रूप में ही स्वरूपण के साथ मेल मिलता है पढ़ने के लिए कोशिश कर रहा हूँ।

आउटपुट JUnit

Line 1 
Line 2 
Line 3 

लेकिन का उपयोग कर मेल जब बिलाव में तैनात है, मैं पाठ के साथ एक मेल प्राप्त लेकिन नई लाइनों में मान्यता प्राप्त नहीं हो रहे हैं।

आउटपुट मेल जब बिल्ला सर्वर का उपयोग कर

Line 1Line 2Line 3 

कोड है कि मैं फ़ाइल की सामग्री को पढ़ने के लिए उपयोग कर रहा हूँ।

private String readFile(String pathname) throws IOException { 
     File file = new File(pathname); 
     StringBuilder fileContents = new StringBuilder((int) file.length()); 
     Scanner scanner = new Scanner(file); 
     String lineSeparator = System.getProperty("line.separator"); 

     try { 
      while (scanner.hasNextLine()) { 
       fileContents.append(scanner.nextLine() + lineSeparator); 
      } 
      return fileContents.toString(); 
     } finally { 
      scanner.close(); 
     } 
    } 

मैं डिबग मोड में सर्वर डाल दिया है और मैं देख सकते हैं कि नई लाइन fileContents.toString()

में संलग्न हो रही है मुझे यकीन है कि मैं क्या याद आ रही है नहीं कर रहा हूँ। चरित्र सेट से संबंधित कुछ भी? मुझे यकीन नहीं है ....

+0

जैसा कि मुझे लगता है कि लाइनसेपरेटर मान प्राप्त नहीं हो सकता है क्योंकि आप टोमकैट में अपेक्षा करते हैं। – iMBMT

+0

लिनक्स और विंडोज के पास अलग-अलग लाइन विभाजक हैं –

+1

आप ईमेल कैसे पढ़ रहे हैं? आपकी मेल क्लाइंट नई लाइनों को पकड़ने वाला हो सकता है। – Perception

उत्तर

1

मदद कर सकता है यह बोध और nullix से सुराग के साथ कुछ है। मेल कैसे पढ़ा जाता है और एचटीएमएल।

मेरे मामले में, मैं एक मेल क्लाइंट से मेल भेजकर परीक्षण कर रहा था जो "टेक्स्ट/एचटीएमएल" मेरे आवेदन में संदेश टाइप कर रहा था। तो जब मैं उस मेल का जवाब दे रहा हूं, तो उत्तर मेल "टेक्स्ट/एचटीएमएल" प्रारूप के साथ भी था। इसलिए /n या मैंने जो भी लाइन फ़ीड प्रकार का उपयोग किया था, उसे छोड़ दिया गया था।

तो मेल पढ़ने के दौरान मैंने केवल "टेक्स्ट/सादा" माइम प्रकार पढ़ा। तो इस मेल का जवाब देते समय, मैं नई लाइन मुद्रित कर सकता था।

0

शायद आप जिस तरह से मेल आउटपुट पढ़ रहे हैं, आपको लगता है कि नई लाइन नहीं है। उदाहरण के लिए यदि आप '\ n' को न्यूलाइन के रूप में लिखते हैं, और विंडोज नोटपैड पर फ़ाइल खोलते हैं, तो ऐसा लगता है कि नई लाइन नहीं है।

नोटपैड की तरह और अधिक परिष्कृत पाठ दर्शक का उपयोग ++ आप देख सकते हैं, जहां खाली स्थान के चरित्र