J'essaie d'enregistrer la sortie readLine() dans la variable (elle ne contient qu'une seule ligne) pour comparer ces lignes dans le futur. Mais les variables ne changent pas leurs valeurs:Impossible d'enregistrer readLine(); à la variable de chaîne
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");
}
Sortie:
0.0.0
0.1.0
***null***null***
Quand je suis en train de les convertir à cordes (aa = br.readLine() toString();.), Je avoir une exception:
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)
Y at-il un moyen de les enregistrer en variable?
Merci.
Si les données ne contient une ligne pourquoi vous appelez 'readline()' quatre fois? Mais le résultat que vous avez fourni montre clairement deux lignes: votre explication? Et qu'est-ce qui est «dedans», et sur quoi repose votre croyance que ce n'est pas nul? – EJP
@OP Ne vandalisez pas votre propre question. – EJP