2013-11-09 9 views
8

पढ़ने के लिए कैसे मैंने & पर स्रोत पढ़े हैं, लेकिन निम्नलिखित कोड काम नहीं कर रहे हैं। असल में, मैं फ़ोल्डर 'src' से 'व्यवस्थापक' नामक एक टेक्स्ट फ़ाइल पढ़ना चाहता हूं। मुझे एक सापेक्ष पथ की आवश्यकता होगी, क्योंकि इस परियोजना को दूसरे व्यक्ति को स्थानांतरित किया जा सकता है। मेरे साथ धैर्य बनाए रखें।टेक्स्ट फ़ाइल सापेक्ष पथ

public void staffExists() throws IOException 
    {    
     //http://stackoverflow.com/questions/2788080/reading-a-text-file-in-java 
     BufferedReader reader = new BufferedReader(new FileReader(getClass().getResourceAsStream ("/DBTextFiles/Administrator.txt"))); 

     try 
     {    
      String line = null; 
      while ((line = reader.readLine()) != null) 
      { 
       if (!(line.startsWith("*"))) 
       { 
        System.out.println(line); 
       } 
      } 

     } 
     catch (IOException ex) 
     { 
      ex.printStackTrace(); 
     }    

     finally 
     { 
      reader.close(); 
     }   
    } 
+2

के संभावित डुप्लिकेट [कैसे एक परियोजना में रिश्तेदार पथ से पाठ फ़ाइल को पढ़ने के लिए?] (Http://stackoverflow.com/questions/3844307/how-to-read-text-file-from-relative- पथ-इन-ए-प्रोजेक्ट) –

+1

समस्या क्या है? –

+0

@ डूबी इंक: सुझाए गए यूआरएल को देखा है। लेकिन मैं इसे अभी भी काम नहीं कर सकता, कृपया मुझे मार्गदर्शन करें। – user2945412

उत्तर

16

यह एक वैध निरपेक्ष पथ (सिस्टम पर मैं के बारे में पता कर रहा हूँ) है:

/path/to/directory/../../otherfolder/etc/ 

तो क्या other answer कह रहे थे, के साथ वर्तमान निर्देशिका के लिए पथ प्राप्त करने के लिए किया गया था:

filePath.concat("path to the property file"); 
:
String filePath = new File("").getAbsolutePath(); 

तब के साथ अपने रिश्तेदार पथ को श्रेणीबद्ध

1

यह सही नहीं है:

new FileReader(getClass().getResourceAsStream ("/DBTextFiles/Administrator.txt")) 

आप चाहते हैं:

new InputStreamReader(getClass().getResourceAsStream ("/DBTextFiles/Administrator.txt")) 
+0

यह कारण है कि यह सही नहीं है समझाने के लिए अच्छा होगा। धन्यवाद। –

+0

यह टाइप चेक नहीं करता है –

0

लगभग सभी मामलों में आप पोर्टेबल फ़ॉरवर्ड स्लैश "/"." हर मामले में इस्तेमाल करना चाहिए या तो आप फ़ाइल निर्माता है कि एक को स्वीकार करता है का उपयोग करना चाहिए फ़ाइल (माता-पिता) & स्ट्रिंग (फ़ाइल नाम) या का उपयोग System.getProperty("file.separator").

10

अब मैं करने के लिए यह कुछ हद तक यहां के उत्तर देता & वहाँ getti में मदद करते हैं मुझे लक्ष्य के लिए एनजी। मेरे कोड & पर एक छोटा सा संपादन किया यह काम किया। उम्मीद है कि यह वहां कुछ गरीब आत्माओं की भी मदद करेगा।

String filePath = new File("").getAbsolutePath(); 
System.out.println (filePath); 

//http://stackoverflow.com/questions/2788080/reading-a-text-file-in-java  
//http://stackoverflow.com/questions/19874066/how-to-read-text-file-relative-path 
BufferedReader reader = new BufferedReader(new FileReader(filePath + "/src/DBTextFiles/Administrator.txt")); 

try 
{       
    String line = null;   
    while ((line = reader.readLine()) != null) 
    { 
     if (!(line.startsWith("*"))) 
     { 
      System.out.println(line); 
     } 
    }    
} 
catch (IOException ex) 
{ 
    ex.printStackTrace(); 
}    

finally 
{ 
    reader.close(); 
}     
संबंधित मुद्दे