2013-08-06 3 views
0

Как читать строку из текста? Посмотрите на мой код:Как читать строку из txt?

public static String getTemplateFromFile() { 
     String name = null; 
     try { 
      BufferedReader reader = new BufferedReader(new 
         FileReader(
         "http://localhost:8080/blog/resources/cache/templateName.txt")); 
      name = reader.readLine(); 
      //name="TEST"; 
      //NULL anyway 
      reader.close(); 

     } 

     catch (Exception e) { 

     } 


     return name; 
    } 

Также у меня есть версия secnod, но мой сервер замораживается.

public static String getTemplateFromFile() { 
     String name = null; 
     /* 
     try { 
       URL url = new URL("http://localhost:8080/blog/resources/cache/templateName.txt"); 
       Scanner s = new Scanner(url.openStream()); 

       name=s.nextLine(); 
       s.close(); 
      } 
      catch(IOException ex) { 

       ex.printStackTrace(); 
      }*/ 
     return name; 
    } 

Я думаю, что он не может закрыть соединение или что-то в этом роде. Он возвращает мне NULL, даже я говорю name="TEST"; в попытке строительства.

+1

Вероятно, это исключение. Не употребляйте подобные исключения молча. – arshajii

+1

Возможно, Исключение было брошено. Поместите что-нибудь в свой блок 'catch', например' e.printStackException() ', чтобы узнать, так ли это. –

+0

Hm. В самом деле. Если бы я попробовать этот 'поймать (Exception е) { \t \t \t \t \t \t имя = "TEST"; \t \t} 'он вернет« ТЕСТ ». –

ответ

6

FileReader - это именно то, что – класс, который читает из файлов, а не HTTP-запросов.

Вы получаете недопустимое исключение пути к файлу, которое вы игнорируете в своем злом пустом блоке catch.

Вместо этого вы должны использовать URLConnection.

0

Попробуйте

try{ 
    URL reader=new URL("http://localhost:8080/blog/resources/cache/templateName.txt"); 
    BufferedReader br=new BufferedReader(new InputStreamReader(reader.openStream())); 
    name = br.readLine(); 
    //name="TEST";  
    br.close(); 
}catch (MalformedURLException ex) { 
     ex.printStackTrace(); 
} catch (IOException ex) { 
     ex.printStackTrace(); 
} 

AFAIK, URL#openStream() внутренний вызов URL#openConnection() который создает экземпляр URLConnection и вызывает URLConnection#getInputStream() на нем.

+0

читатель не может быть найден –

+0

Что вы имеете в виду? –

+0

ой. Я не заметил. Я попробую. –

Смежные вопросы