2016-11-02 8 views
-1

나는 미래에이 줄을 비교하기 위해 readLine() 출력을 변수 (단 한 줄만 포함)에 저장하려고합니다. 그러나 변수는 그 값을 변경하지 마십시오 :readLine()을 저장할 수 없습니다. 문자열 변수

try { 
         String VersName = "src/bin/version.txt"; 
         BufferedReader br = null; 
         br = new BufferedReader(new FileReader(VersName)); 
         URL url = new URL("ftp://31.130.206.175/current_versions/vers"); 

         // read text returned by server 
         BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream())); 
         System.out.println(br.readLine()); 
         System.out.println(in.readLine()); 

         String aa = null; 
         String bb = null; 
         aa = br.readLine(); 
         bb = in.readLine(); 
         System.out.println("***" + aa + "***" + bb + "***"); 

         in.close(); 
         br.close(); 

        } catch (MalformedURLException e3) { 
         System.out.println("Malformed URL"); 
        } catch (IOException e4) { 
         System.out.println("I/O Error"); 
        } 

출력 :

0.0.0 
0.1.0 
***null***null*** 

내가 문자열로 은밀한하기 위해 노력하고있어 (AA = br.readLine의 toString()을();.), 나는 예외가 있습니다 :

0.0.0 
0.1.0 
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException 
    at Launcher.SimpleSwingBrowser$3.actionPerformed(SimpleSwingBrowser.java:209) 
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) 
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348) 
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) 
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) 
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) 
    at java.awt.Component.processMouseEvent(Component.java:6535) 
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) 
    at java.awt.Component.processEvent(Component.java:6300) 
    at java.awt.Container.processEvent(Container.java:2236) 
    at java.awt.Component.dispatchEventImpl(Component.java:4891) 
    at java.awt.Container.dispatchEventImpl(Container.java:2294) 
    at java.awt.Component.dispatchEvent(Component.java:4713) 
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888) 
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525) 
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466) 
    at java.awt.Container.dispatchEventImpl(Container.java:2280) 
    at java.awt.Window.dispatchEventImpl(Window.java:2750) 
    at java.awt.Component.dispatchEvent(Component.java:4713) 
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) 
    at java.awt.EventQueue.access$500(EventQueue.java:97) 
    at java.awt.EventQueue$3.run(EventQueue.java:709) 
    at java.awt.EventQueue$3.run(EventQueue.java:703) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) 
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) 
    at java.awt.EventQueue$4.run(EventQueue.java:731) 
    at java.awt.EventQueue$4.run(EventQueue.java:729) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) 
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) 
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) 
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) 
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) 
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) 
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) 
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) 

변수를 저장할 수있는 방법이 있습니까?

감사합니다.

+0

데이터는 왜'내의 readLine()'네 번 호출 한 줄이 포함 된 경우? 그러나 당신이 제공 한 결과는 분명히 두 줄을 보여줍니다 : 당신의 설명? 그리고 무엇이'안에 '이며, 그것이 널이 아니라는 당신의 믿음의 근거는 무엇입니까? – EJP

+0

@OP 질문을 파손하지 마십시오. – EJP

답변

0

의 문제가이 당신은 당신의 라인을 읽을

System.out.println(br.readLine()); 
System.out.println(in.readLine()); 

없다, 그래서 당신의

aa = br.readLine(); 
bb = in.readLine(); 

그래서 읽고 아무것도 더 이상 사용할 수 없습니다.

(예를 들어)이 당신의 instructionslike 순서를 시도해보십시오

String aa = br.readLine(); 
String bb = in.readLine(); 

System.out.println(aa); 
System.out.println(bb); 
그것은 더 나은해야

)