diff --git a/java/src/com/tightvnc/rfbplayer/README b/java/src/com/tightvnc/rfbplayer/README
index 1d4c9c6..4a3a72e 100644
--- a/java/src/com/tightvnc/rfbplayer/README
+++ b/java/src/com/tightvnc/rfbplayer/README
@@ -1,12 +1,13 @@
 
-RFB Session Player 0.1.0
+RFB Session Player 0.7.0
 ========================
 
 RFB Session Player is a Java application/applet for playing back RFB
 session files in FBS format saved by such programs as VNC Reflector or
 rfbproxy.
 
-Usage:  java RfbPlayer FILE test.fbs
+Usage:  java RfbPlayer URL file:test.fbs
+        java RfbPlayer URL http://remote.host/sessions/test.fbs
 
 
 Licensing Terms
diff --git a/java/src/com/tightvnc/rfbplayer/RfbPlayer.java b/java/src/com/tightvnc/rfbplayer/RfbPlayer.java
index 4a9bc2f..58d4d64 100644
--- a/java/src/com/tightvnc/rfbplayer/RfbPlayer.java
+++ b/java/src/com/tightvnc/rfbplayer/RfbPlayer.java
@@ -21,6 +21,7 @@
 import java.awt.*;
 import java.awt.event.*;
 import java.io.*;
+import java.net.*;
 
 public class RfbPlayer extends java.applet.Applet
   implements java.lang.Runnable, WindowListener {
@@ -62,7 +63,7 @@
   ButtonPanel buttonPanel;
   VncCanvas vc;
 
-  String sessionFileName;
+  String sessionURL;
   boolean showControls;
   int deferScreenUpdates;
 
@@ -122,8 +123,8 @@
     }
 
     try {
-      FileInputStream file = new FileInputStream(sessionFileName);
-      fbsStream = new FbsInputStream(file);
+      URL url = new URL(sessionURL);
+      fbsStream = new FbsInputStream(url.openStream());
       rfb = new RfbProto(fbsStream);
 
       vc = new VncCanvas(this);
@@ -165,9 +166,8 @@
 	  buttonPanel.setMode(MODE_STOPPED);
 	  vc.processNormalProtocol();
 	} catch (EOFException e) {
-	  file.close();
-	  file = new FileInputStream(sessionFileName);
-	  fbsStream = new FbsInputStream(file);
+	  fbsStream.close();
+	  fbsStream = new FbsInputStream(url.openStream());
 	  rfb.newInputStream(fbsStream);
 	}
       }
@@ -203,7 +203,7 @@
 
   public void readParameters() {
 
-    sessionFileName = readParameter("FILE", true);
+    sessionURL = readParameter("URL", true);
 
     showControls = true;
     String str = readParameter("Show Controls", false);
