How the display shared directories onthe remote pc

i want to implement a program which shows the shared directories on the remote pc. i have uses File
1)
File yen=new File("//139.179.192.240/");
File[]abc=yen.listFiles();
for (int i = 0; i<abc.length; i++)
System.out.println (abc);
it doest work!!!
i used
2)
File yen=new File("//139.179.192.240/shared");
File[]abc=yen.listFiles();
for (int i = 0; i<abc.length; i++)
System.out.println (abc[i]);
it works and shows the files inthe shared directory bu iwant that list the shared directories on the pc not the files in a specific direcory
i want to do the 1) as seen above? how can i do that?
how can i show the shared directories on a remote pc? please help me
i am waing your answer. with my best wishes..............

it works and shows the files inthe shared directory bu
iwant that list the shared directories on the pc not
the files in a specific direcory
i want to do the 1) as seen above? how can i do that?
how can i show the shared directories on a remote pc?
please help me
i am waing your answer. with my best
wishes..............I haven't looked deeply into its capabilities but check out http://jcifs.samba.org/. The samba team have done a Java implementation of Windows network file sharing that can probably do what you want.

Similar Messages

  • [svn:osmf:] 15505: Fix image smoothing, which had been broken as a result of some changes to how the display object of an ImageElement is exposed .

    Revision: 15505
    Revision: 15505
    Author:   [email protected]
    Date:     2010-04-16 09:29:26 -0700 (Fri, 16 Apr 2010)
    Log Message:
    Fix image smoothing, which had been broken as a result of some changes to how the display object of an ImageElement is exposed.  Add integration test.
    Modified Paths:
        osmf/trunk/framework/OSMF/org/osmf/elements/ImageElement.as
        osmf/trunk/framework/OSMFIntegrationTest/org/osmf/elements/TestImageElementIntegration.as

    That's a comment in the file. It has no effect at all.

  • How to display a file on remote host?

    Hi, All,
    I want to know how to display a text file on a remote host on APEX.
    In my APEX application, I call a OS command which execute a shell script on a remote host. The shell script will run for 5mins, and send out its running status on the remote host every 10 seconds.
    For APEX application, I want to display the output file on the remote host, and refresh the screen every 10 seconds. So the user can get the running status while the shell script is running.
    Thanks in advance for any advice.
    Sharon.Ni

    I call a OS command which execute a shell script on a remote hostI am assuming that you are using a Java wrapper to execute the OS script.
    <li>If so add another script that 'echo's or displays(cat) the file content in your OS
    <li> Add another java wrapper that runs the script (PLSQL OS COMMAND library can return the unix output of a script to PLSQL and is feature rich)
    <li> Have a PLSQL ondemand process that runs the Java code that returns the file content_(it can even return a clob) to JS ( using htp.p).
    <li> In the page have a timer JS which calls the Ondemadn process and put the content into an HTML div(eg by using html() function) with the Ondemand processes return string.

  • How to display shared icalendar on iphone?

    I shared my calendar with someone and she is not able to see the calendar on her app. My phone shows that she accepted the calendar invitation but it does not show on her calendar. The calendar is checked when I look at the list of calendars available to display on her phone. She has icloud on and her iCloud works on her computer but neither display the calendar.
    Any ideas on how to get the calendar to display?
    Thanks!

    You could create a lock screen wallpaper with your name on it if you want. There is no way to get your name on the status bar at the top of the phone.

  • How does display sharing work? (i.e. a MBA using a 27" iMac as ext display)

    I have a 27" iMac, and am considering a MacBook Air: one consideration in choosing the MBA (which has a smaller screen that I would choose) is that if i can use the iMac at home as ext displaym then I can live when travelling with the smaller MBA display (vs. a 15" MBP).
    However, when I hook the MBA to the iMac, how do I toggle the iMac display between iMAc and the MBA?
    Also, does hooking them up via MiniDP mean that the iMac keyboard and mouse will control the MBA? Or will I need to sit at my desk with two of each?
    Thanks

    Richard Kelly2 wrote:
    However, when I hook the MBA to the iMac, how do I toggle the iMac display between iMAc and the MBA?
    Type ⌘ F2
    Also, does hooking them up via MiniDP mean that the iMac keyboard and mouse will control the MBA? Or will I need to sit at my desk with two of each?
    You can keep your MacBook Air open and use the iMac as display #2. You will use the MacBook Air's keyboard and trackpad (or mouse) to control the machine.
    You can keep the MacBook Air plugged in and closed, connect an external keyboard and external mouse/trackpad and run the MacBook Air in "closed clamshell" mode. http://support.apple.com/kb/ht3131?viewlocale=en_US
    The hardest part is finding a mini display port to mini display port cable. In theory, you may be able to use the iMac's video and audio with a MacBook Air. No guarantees on that. You will need the latest spec on the cable and just finding a cable may be a challenge.

  • How to display success message after Remote service call

    Hi ,
    I am currently using Flex form for adding/updating user
    personal details.On submit button click ,i am submitting details to
    server by calling RPC remote service.For calling remote service i
    am using penneframework. On penneframework, Remote service call
    result are populated in RemoteResult object. It dont have any other
    event method for handling result event.For errror handling, i have
    defaultHandler for displaying error message.
    Here i am having two requirements
    1. I should be able to track RPC response, so that i can
    display success message to user along with DB generated ID.
    2. I need to reset all form field after receiving RPC
    response.
    Here my question is
    1.How i can track server response, so that i can display
    success or error message.
    2. Is their any event or coding technique which i can use for
    solving this issue.
    Thanks
    Kumar

    you can do following way :
    quote:
    var token:AsyncToken =
    YourRemoteClass.remoteMethod(param1,param2);
    token.addResponder(new AsyncResponder(
    function(data:Object, token:Object):void {
    // tadaaa response
    function(info:Object, token:Object):void {
    //ooooo , noo, failure
    token

  • Question about timeline navigation and the display list-

    I’ve got a movieclip called “rotatorProxy” that spans the entire timeline. I’ve got nav buttons that jump to various frames on that timeline. I need to get the display depth of rotatorProxy each time the nav buttons move the playhead. The AS3 code is easy enough:
    var zIndex:int = this.getChildIndex(getChildByName("rotatorProxy")) ;
    my problem is where to put it. If I put this code in any script that executes in the target frame, it works, but only if I hit the nav buttons slowly. If I bang on a single nav button rapidly, getChildByName("rotatorProxy”) can return null. I don’t know much about how the display list works but I assume the display list is rebuilt after every jump and the frame scripts are executing asynchronously, so it’s possible my getChildByName call is  executed before the display list is complete. Is there an event or some other handle that would allow me to call my code before the frame is rendered but after the display list is complete?

    Wow, thanks for the fast response...
    “if rotatorProxy exists in all frames, it should never return null.”
    That’s what I thought, but not what I’m seeing, rapidly jumping around on the timeline seems to confuse the player and it temporarily looses track of rotatorProxy.
    You can sort of see it in action here: http://www.appliedcd.com/newACT/act.html
    The zIndex is used to establish the depth of the rotating screens which have been added to the display list via AS. If you bang on the nav buttons quickly you’ll see the stacking order screw up, if you had been in the development environment you’d see the null error thrown.
    I’ll see if I can use the render event to sort this out. I know testing in the frame after the jump will work, but it’s cleaner if I can establish the proper stacking order before the first jump frame is rendered.

  • How To Display the directories of a System.

    How To Display the directories of a System.

    Hmm I think you need to be more specific. Do you mean like this:
    File f  = new  File("c:/");
    File[] fs = f.list();That lists all the files in that folder, then you can use the method isDirectory to check it. Mind you, you would have to go though every folder.

  • Adobe Connect: how to display a picture in the WebCam pod when not sharing video

    Adobe Connect: how to display a picture in the WebCam pod when not sharing video

    The WebCam pod can pause a live video showing a static image. However, I believe that you are looking to use a Share pod, where you can upload a JPG or PNG image. Just place the share pod with the image where you would have the Camera pod.

  • How to stop the AppleTV from sharing directories

    How can I set the AppleTV (or my Mac its streaming from) to stop sharing certain directories. For example, I'd like it to share the movies I've bought off iTunes, but not the music. How do I exclude directories? Thanks

    As far as I can determine, AppleTV (3G running iOS6) cannot be set to abide by any list-trimming controls when accessing iTunes libraries.   The very best you can do is turn on the parental controls on the AppleTV, and set the appropriate age-restrictions.   You cannot have AppleTV ignore certain playlists, for instance.
    Now, if Apple were smart, they would make AppleTV's home sharing work just like iTunes does:
    On the master library machine, I set playlists for both music and movies that are age-appropriate.  I only activate those playlists on the master machine's Sharing settings.
    My kids can then use their Macs via iTunes to listen to or watch only that media.   Works very well for all involved, and far more flexible than just the simplistic  G/PG/R or explicit ratings.   It utterly fails with any iOS device (iPhone or AppleTV).  I'm dumbfounded why Apple would not have had two seemingly similar features (in OSX and iOS) work so very differently.  Seems more granular control would be favorable than how clunky it is now.

  • HT202213 The screen displayed on the instructions for home sharing described as being found on the left side of iTunes isn't visible on the new iTunes page?? Where do i find that screen i.e., how do I fine the home sharing icon on the new iTunes page?

    The screen displayed on the instructions for home sharing described as being found on the left side of iTunes isn't visible on the new iTunes page?? Where do i find that screen i.e., how do I fine the home sharing icon on the new iTunes page?

    ontthe top menu
    View > Show sidebar
    Then the computers for home sharing show up under the Shared section

  • Does anyone know how to keep the display asleep when appletv is streaming?  I have disabled all sharing features.

    My IMac display turns on now that I have lion when I stream appletv to my TV.  I have shut off all sharing and wakeup features.  I do not sleep the computer, just the display which turns on while streaming which is annoying!

    Same problem here.  Just bought my iMac and never used Leopard, but with Lion the display seems to stay awake when streaming to my ATV2.  Since my machine is brand new, I am going to call Apple to see if I am missing something in settings that will solve it.

  • A lost my remote control for apple tv. I want to use my phone as a remote but the applications can' pair with the Apple TV device , how can I pair them without remote?

    A lost my remote control for apple tv. I want to use my phone as a remote but the applications can' pair with the Apple TV device , how can I pair them without remote?

    Setup for remote app: http://support.apple.com/kb/ht1947
    Specifically:
    Set up Apple TV (2nd and 3rd generation)
    On Apple TV, select Settings from the main menu.
    Select General > Remotes > Remote App. If Home Sharing isn't set up on your Apple TV, you should turn it on.
    Apple TV (2nd and 3rd generation) uses Home Sharing to stream content from your iTunes library on your computer to your HDTV.  If  you connect your Apple TV to your iTunes library using  Home  Sharing, you can use Remote to browse and play content from any  iTunes library in the Computers   section of your Apple TV. You can also  use Remote to select  between available speakers to enhance  your  audio and video experience.

  • Display files/directories of a remote system (RIO) on a host machine (PC)

    Hello,
    Please assume that we are discussing software built on the standard "Labview FPGA Control on Compact RIO" sample project. The host is a standard PC running LV14 Fall edition, the remote system is an sbRIO-9636 having an SD card and a USB HDD attached. The objective is process control. The process being controlled is not relevant to the question.
    This question is about implementing the following functionality: the user operates a host machine running a Labview user interface vi (UI Main.vi) locally on the host machine. Part of this vi must offer the user a built in dialogue (some express vi or another) or custom dialogue (a bespoke vi displayed on demand). The dialogue must display the directories and files of the remote system which runs RT Main.vi and it must allow the user to select a single XML file on the remote system (which contains some generic configuration information). The name of the file will then be passed to the remote system and the remote system will act to open it and populate some configuration variables.
    I am sure that a widely used solution exists for this problem but I've not found the right words to type into my favourite search engine yet to produce the result. I propose the following:
    1) User clicks a "select config file" button on UI Main.vi
    2) The UI Main.vi event loop enqueues a message on the UI Main message queue based on the value change event caused by the button press
    3) The UI Main.vi message loop enqueues a separate message on to the "UI Command Stream" network stream
    4) The RT Main.vi, RT Loop - UI Commands.vi subvi receives the message from the stream and enqueues it on the RT Main.vi message queue
    5) The RT Main.vi message loop performs some functions to read the disk structures, directories and file names from the RT system
    6) The file and directory name data in (5) is converted to a variant and is passed along with a suitable message into the RT Writer network stream
    7) The UI Main.vi periodically reads the RT Writer network stream (it's in the "monitoring loop") and enqueues the received message (from 6) into the UI message queue
    8) The UI Main message queue populated the UI Main front panel with the data
    9) The user selects the directory and file they desire and clicks an "ok" button
    10) The ok button click causes the event loop of UI main to enqueue a message in UI Main.vi's message queue due to the value change on the ok button
    11) The UI Message loop enqueues a message on to the "UI Command Stream" network stream with the selected fully qualified file name of the selected file as the data (stored as variant)
    12) The RT Main.vi, RT Loop - UI Commands.vi subvi receives the message from the stream and enqueues it on the RT Main.vi message queue
    13) The RT Main.vi message loop opens the XML file and populated the appropriate variables with the configuration options therein.
    The user should be able to cancel the dialogue and avoid using a configuration file but I have not delt with that here.
    Now for the questions:
    1) Is this a logical approach?
    2) Are there any suggestions for a better way?
    3) Any links to some pre-written code that will allow me to impliment all or part of this with minimum effort (I'm thinking here of the dialogue box bit rather than the network streams and events bit as those structures are extant and have lots of bespoke code already in them)?
    Thanks,
    James
    Solved!
    Go to Solution.

    Hi Bob,
    Thanks for your input. You're right I have used network streams. 
    I implimented more or less what I said in my original post. It works. My main objective was to keep all the config stuff, and data for the particular target on the target's SDCard. On reflection that did make my life much harder than keeping stuff on the host. 
    It is more (quite a lot more) involved to keep the config files on the target and send directory info etc. back to the host on demand. If I was to do this again I would probably keep the config files on the host machine and keep them in Dropbox or a Google drive so that if I had more than one host to work from (Work PC, Home PC and Laptop...) I would have all my files with little effort. Still I didn't konw that when I started.
    Thanks,
    James

  • How to display the source code for this friggin' file.

    Below is a rather lengthy bit of code that provides the behavior and attributes of a web server for OpenCyc. I need to know if I can enter some java to have the HTML source code displayed in a separate text file whenever this class returns some resulting webpage. If you have any ideas it will be greatly appreciated.
    -"Will code for foo."
    package org.opencyc.webserver;
    * Class WebServer is simple multithreaded HTTP server
    * with CGI limited to a Cyc connection on default port 3600.
    * <p>
    import java.net.*;
    import java.io.*;
    import java.util.*;
    import java.util.jar.*;
    import java.text.*;
    import org.opencyc.util.*;
    public class WebServer extends Thread {
         * Singleton WebServer instance.
        public static WebServer current;
         * Default HTTP port.
        protected static int DEFAULT_PORT = 80;
         * Default Cyc base port.
        protected static int DEFAULT_CYC_PORT = 3600;
         * Default directory to serve files from on non-Windows OS.
        protected static String DEFAULT_DIR = "/";
         * Default directory to serve files from on Windows.
        //protected static String DEFAULT_WIN_DIR = "C:\\";
        protected static String DEFAULT_WIN_DIR = "k:\\opencyc\\run\\httpd\\htdocs";
         * File cache capacity.
        protected static final int CACHE_CAPACITY = 100;
         * File cache to improve file serving performance.
        protected static Hashtable fileCache = new Hashtable(CACHE_CAPACITY);
         * Number of files served from this web server.
        protected static long nbrFilesServed = 0;
         * Number of files served from this web server that were found in the cache.
        protected static long nbrCacheHits = 0;
         * Server socket for accepting connections.
        protected ServerSocket server;
         * Directories to serve files from.
        protected ArrayList dirs;
         * Map from String (jar root) to JarFile[] (jar class path).
        protected HashMap map;
         * Webserver HTTP port.
        protected int port;
         * Cyc HTML host.
        protected String cycHost = "localhost";
         * Cyc HTML port.
        protected int cycPort;
         * Expand jar tress.
        protected boolean trees;
         * Requests flag.
        protected boolean traceRequests;
         * Constructs a WebServer object.
         * @param port the port to use
         * @param directories the directory to serve files from
         * @param trees true if files within jar files should be served up
         * @param traceRequests true if client's request text should be logged.
         * @exception IOException if the listening socket cannot be opened, or problem opening jar files.
        public WebServer() throws IOException {
            getProperties();
            server = new ServerSocket(port);
            processDirectories();
         * Class Task processes a single HTTP request.
        protected class Task extends Thread {
             * Socket for the incoming request.
            protected Socket sock;
             * Client socket to the Cyc KB HTML server.
            protected Socket cycHtmlSocket;
             * Output tcp stream.
            protected DataOutputStream out;
             * Contains the file request path for a not-found error message.
            protected String notFoundPath;
             * Contains the first line of a request message.
            protected String methodLine;
             * Contains the body of a POST method.
            protected String bodyLine;
             * Constructs a Task object.
             * @param sock the socket assigned for this request.
            public Task(Socket sock) {
                this.sock = sock;
             * Processes the HTTP request.
            public void run() {
                if (traceRequests)
                    Log.current.println("connection accepted from " + sock.getInetAddress());
                notFoundPath = "";
                try {
                    out = new DataOutputStream(sock.getOutputStream());
                    try {
                        getBytes();
                    catch (Exception e) {
                        Log.current.println("file not found: " + notFoundPath);
                        try {
                            out.writeBytes("HTTP/1.1 404 Not Found\r\n");
                            out.writeBytes("Server: Cyc WebServer\r\n");
                            out.writeBytes("Connection: close\r\n");
                            out.writeBytes("Content-Type: text/html\r\n\r\n");
                            out.writeBytes("<HTML><HEAD>\n");
                            out.writeBytes("<TITLE>404 Not Found</TITLE>\n");
                            out.writeBytes("</HEAD><BODY>\n");
                            out.writeBytes("<H1>404 - Not Found</H1>\n");
                            out.writeBytes("</BODY></HTML>");
                            out.flush();
                        catch (SocketException se) {
                catch (Exception e) {
                    Log.current.printStackTrace(e);
                finally {
                    try {
                        sock.close();
                    catch (IOException e) {
             * Reads the HTTP request and obtains the response.
             * @exception IOException when HTTP request has an invalid format.
            private void getBytes() throws IOException {
                // Below logic is complex because web browsers do not close the
                // socket after sending the request, so must parse message to find
                // the end.
                BufferedReader in = new BufferedReader(new InputStreamReader(sock.getInputStream()));
                ArrayList inBytes = new ArrayList(200);
                int ch = 0;
                boolean postMethod;
                methodLine = in.readLine();
                //if (traceRequests)
                //    Log.current.println("methodLine=" + methodLine);
                bodyLine = "";
                if (methodLine.startsWith("POST /"))
                    postMethod = true;
                else
                    postMethod = false;
                //if (traceRequests)
                //    Log.current.println("postMethod=" + postMethod);
                int ch1 = -1;
                int ch2 = -1;
                int ch3 = -1;
                int ch4 = -1;
                // Read the HTTP request headers.
                while (true) {
                    ch = in.read();
                    inBytes.add(new Integer(ch));
                    ch1 = ch2;
                    ch2 = ch3;
                    ch3 = ch4;
                    ch4 = ch;
                    if (ch1 == '\r' && ch2 == '\n' && ch3 == '\r' && ch4 == '\n')
                        break;
                    if ((! postMethod) &&
                        (! in.ready()) &&
                        ch1 == -1 &&
                        ch2 == -1 &&
                        ch3 == '\r' &&
                        ch4 == '\n') {
                        inBytes.add(new Integer('\r'));
                        inBytes.add(new Integer('\n'));
                        break;
                byte[] byteArray = new byte[inBytes.size()];
                for (int i = 0; i < inBytes.size(); i++) {
                    Integer ich = (Integer) inBytes.get(i);
                    byteArray[i] = ich.byteValue();
                String headers = new String(byteArray);
                if (postMethod) {
                    String lcHeaders = headers.toLowerCase();
                    int i = lcHeaders.indexOf("content-length: ");
                    String contentLength = lcHeaders.substring(i + 16);
                    int j = contentLength.indexOf("\r\n");
                    contentLength = contentLength.substring(0, j);
                    int bodyLen = (new Integer(contentLength)).intValue();
                    for (int k = 0; k < bodyLen; k++) {
                        bodyLine = bodyLine + (new Character((char) in.read())).toString();
                String line = methodLine + "\r\n" + headers + bodyLine;
                if (traceRequests)
                    Log.current.println(line);
                if (postMethod)
                    processHttpPost();
                else
                    if (line.startsWith("GET /"))
                        processHttpGet(line.substring(4));
                    else {
                        Log.current.println("Invalid request = " + line);
                        throw new IOException();
             * Processes an HTTP GET method.
             * @param httpGetPath the path of the file to get.
             * @exception IOException if the file is not found.
            private void processHttpGet(String httpGetPath) throws IOException {
                int i = httpGetPath.indexOf(' ');
                if (i > 0)
                    httpGetPath = httpGetPath.substring(0, i);
                Log.current.println(methodLine + " from " + sock.getInetAddress().getHostName());
                i = httpGetPath.indexOf("cg?");
                if (i > 0) {
                    cycHtmlRequest(httpGetPath.substring(i + 3));
                    return;
                notFoundPath = httpGetPath;
                i = httpGetPath.indexOf('/');
                if (i < 0 || map == null) {
                    if (map == null || httpGetPath.endsWith(".jar")) {
                        for (int j = 0; j < dirs.size(); j++) {
                            String dir = (String) dirs.get(j);
                            String nativePath = dir + httpGetPath;
                            nativePath = nativePath.replace('/', File.separatorChar);
                            if (fileCache.containsKey(nativePath)) {
                                writeDataBytes((byte[]) fileCache.get(nativePath));
                                Log.current.println("...cached");
                                nbrCacheHits++;
                                nbrFilesServed++;
                                return;
                            try {
                                File f = new File(nativePath);
                                byte[] fileBytes = getBytes(new FileInputStream(f), f.length());
                                writeDataBytes(fileBytes);
                                if (fileCache.size() >= CACHE_CAPACITY)
                                    fileCache.clear();
                                fileCache.put(nativePath, fileBytes);
                                Log.current.println("...from " + nativePath);
                                nbrFilesServed++;
                                return;
                            catch (IOException e) {
                    throw new IOException();
                String jar = httpGetPath.substring(0, i);
                httpGetPath = httpGetPath.substring(i + 1);
                JarFile[] jfs = (JarFile[]) map.get(jar);
                if (jfs == null)
                    throw new IOException();
                for (i = 0; i < jfs.length; i++) {
                    JarEntry je = jfs.getJarEntry(httpGetPath);
    if (je == null)
    continue;
    writeDataBytes(getBytes(jfs[i].getInputStream(je), je.getSize()));
    nbrFilesServed++;
    return;
    throw new IOException();
    * Processes an HTTP POST method.
    * @exception IOException if the file is not found.
    private void processHttpPost() throws IOException {
    Log.current.println("POST " + bodyLine + " from " + sock.getInetAddress().getHostName());
    cycHtmlRequest(bodyLine);
    * Reads the specified number of bytes and always close the stream.
    * @param in the file to be read for subsequent downloading.
    * @param length the number of bytes to read from the file.
    * @return An array of bytes from the file.
    * @exception IOException if an error occurs when processing the file.
    private byte[] getBytes(InputStream in, long length) throws IOException {
    DataInputStream din = new DataInputStream(in);
    byte[] bytes = new byte[ (int) length];
    try {
    din.readFully(bytes);
    finally {
    din.close();
    return bytes;
    * Sends the HTML request to Cyc.
    * @param cycPath the portion of the URL which is given to the Cyc HTML server.
    private void cycHtmlRequest(String cycPath) {
    String request = sock.getInetAddress().getHostName() + "&" + cycPath + "#";
    System.out.println("request=" + request);
    ArrayList bytes = new ArrayList(10000);
    try {
    cycHtmlSocket = new Socket(cycHost, cycPort);
    System.out.println("cycHost=" + cycHost + " cycPort=" + cycPort);
    BufferedReader cycIn = new BufferedReader(new InputStreamReader(cycHtmlSocket.getInputStream()));
    PrintWriter cycOut = new PrintWriter(cycHtmlSocket.getOutputStream(), true);
    cycOut.println(request);
    cycOut.flush();
    int ch = 0;
    while (ch >= 0) {
    ch = cycIn.read();
    bytes.add(new Integer(ch));
    catch (Exception e) {
    Log.current.printStackTrace(e);
    byte[] byteArray = new byte[bytes.size()];
    for (int i = 0; i < bytes.size() - 1; i++) {
    Integer ich = (Integer) bytes.get(i);
    byteArray[i] = ich.byteValue();
    try {
    writeTextBytes(byteArray);
    catch (Exception e) {
    Log.current.println(e.getMessage());
    * Responds to the HTTP client with data content from the requested URL.
    * @param bytes the array of bytes from the URL.
    * @exception IOException if there is an error writing to the HTTP client.
    public void writeDataBytes(byte[] bytes) throws IOException {
    out.writeBytes("HTTP/1.1 200 OK\r\n");
    out.writeBytes("Server: Cyc WebServer\r\n");
    out.writeBytes("Connection: close\r\n");
    out.writeBytes("Content-Length: " + bytes.length + "\r\n");
    String prefix = (new String(bytes)).toLowerCase();
    if (prefix.indexOf("<html>") > -1)
    out.writeBytes("Content-Type: text/html\r\n\r\n");
    else
    out.writeBytes("Content-Type: application/java\r\n\r\n");
    out.write(bytes);
    out.flush();
    * Respond to the HTTP client with text content from the requested URL.
    * @param bytes the array of bytes from the URL.
    * @exception IOException if there is an error writing to the HTTP client.
    public void writeTextBytes(byte[] bytes) throws IOException {
    out.writeBytes("HTTP/1.1 200 OK\r\n");
    out.writeBytes("Server: Cyc WebServer\r\n");
    out.writeBytes("Connection: close\r\n");
    out.writeBytes("Content-Length: " + bytes.length + "\r\n");
    out.writeBytes("Content-Type: text/html\r\n\r\n");
    out.write(bytes);
    out.flush();
    * Gets properties governing the web server's behavior.
    private void getProperties() {
    port = DEFAULT_PORT;
    String portProperty = System.getProperty("org.opencyc.webserver.port", "");
    if (! portProperty.equalsIgnoreCase(""))
    port = (new Integer(portProperty)).intValue();
    Log.current.println("Listening on port " + port);
    cycPort = DEFAULT_CYC_PORT;
    String cycPortProperty = System.getProperty("org.opencyc.webserver.cycPort", "");
    if (! cycPortProperty.equalsIgnoreCase(""))
    cycPort = (new Integer(cycPortProperty)).intValue();
    Log.current.println("Cyc connections directed to port " + cycPort);
    String dirsProperty = System.getProperty("org.opencyc.webserver.dirs", "");
    dirs = new ArrayList(3);
    StringTokenizer st = new StringTokenizer(dirsProperty, ";", false);
    while (st.hasMoreTokens()) {
    String dir = st.nextToken();
    dirs.add(dir);
    trees = false;
    String treesProperty = System.getProperty("org.opencyc.webserver.trees", "");
    if (! treesProperty.equalsIgnoreCase(""))
    trees = true;
    traceRequests = false;
    String traceRequestsProperty = System.getProperty("org.opencyc.webserver.traceRequests", "");
    if (! traceRequestsProperty.equalsIgnoreCase("")) {
    traceRequests = true;
    Log.current.println("tracing requests");
    * Adds transitive Class-Path jars to jfs.
    * @param jar the jar file
    * @param jfs the list of jar files to serve.
    * @param dir the jar file directory.
    * @exception IOException if an I/O error has occurred with the jar file.
    private void addJar(String jar, ArrayList jfs, String dir) throws IOException {
    Log.current.println("Serving jar files from: " + dir + jar);
    JarFile jf = new JarFile(dir + jar);
    jfs.add(jf);
    Manifest man = jf.getManifest();
    if (man == null)
    return;
    Attributes attrs = man.getMainAttributes();
    if (attrs == null)
    return;
    String val = attrs.getValue(Attributes.Name.CLASS_PATH);
    if (val == null)
    return;
    dir = dir + jar.substring(0, jar.lastIndexOf(File.separatorChar) + 1);
    StringTokenizer st = new StringTokenizer(val);
    while (st.hasMoreTokens()) {
    addJar(st.nextToken().replace('/', File.separatorChar), jfs, dir);
    * Administrative accessor method that obtains list of directories from which files are served.
    public ArrayList getDirs() {
    return dirs;
    * Administrative method that updates the list of directories from which files are served.
    public synchronized void setDirs(ArrayList dirs) throws IOException {
    this.dirs = dirs;
    fileCache.clear();
    processDirectories();
    * Administrative accessor method that obtains number of files served.
    * @return The number of files served.
    public long getNbrFilesServed() {
    return nbrFilesServed;
    * Administrative accessor method that obtains number of files served from cache.
    * @return The number of files served from the cache.
    public long getNbrCacheHits() {
    return nbrCacheHits;
    * Administrative method that clears the file cache.
    public synchronized void clearFileCache() {
    Log.current.println("Clearing file cache");
    fileCache.clear();
    nbrFilesServed = 0;
    nbrCacheHits = 0;
    * Processes the directories from which files are served, expanding jar trees if
    * directed.
    * @exception IOException if problem occurs while processing the jar files.
    private void processDirectories() throws IOException {
    if (dirs.size() == 0)
    if (File.separatorChar == '\\')
    dirs.add(DEFAULT_WIN_DIR);
    else
    dirs.add(DEFAULT_DIR);
    Iterator directories = dirs.iterator();
    while (directories.hasNext())
    Log.current.println("Serving from " + directories.next());
    if (trees) {
    map = new HashMap();
    for (int j = 0; j < dirs.size(); j++) {
    String dir = (String) dirs.get(j);
    String[] files = new File(dir).list();
    for (int i = 0; i < files.length; i++) {
    String jar = files[i];
    if (!jar.endsWith(".jar"))
    continue;
    ArrayList jfs = new ArrayList(1);
    addJar(jar, jfs, dir);
    map.put(jar.substring(0, jar.length() - 4), jfs.toArray(new JarFile[jfs.size()]));
    * Provides the command line interface for creating an HTTP server.
    * The properties are:
    * <pre>
    * org.opencyc.webserver.port=<HTTP listening port>
    * </pre>
    * which defaults to 80.
    * <pre>
    * org.opencyc.webserver.cycPort=<Cyc connection port>
    * </pre>
    * which defaults to 3600.
    * <pre>
    * org.opencyc.webserver.dirs=<path>;<path> ... ;<path>
    * </pre>
    * with the argument enclosed in quotes if any path contains an
    * embedded space.
    * The default directory on Windows is C:
    * and the default on other systems is / the default
    * can be overridden with this property. By default, all files
    * under this directory (including all subdirectories) are served
    * up via HTTP. If the pathname of a file is <var>path</var> relative
    * to the top-level directory, then the file can be downloaded using
    * the URL
    * <pre>
    * http://<var>host</var>:<var>port</var>/<var>path</var>
    * </pre>
    * Caching of file contents is performed.
    * <pre>
    * org.opencyc.util.log=all
    * </pre>
    * If the all value is given, then all attempts to download files
    * are output.
    * <pre>
    * org.opencyc.webserver.traceRequests
    * </pre>
    * If this property has any value, then the client HTTP requests are
    * output.<p>
    * <pre>
    * org.opencyc.webserver.trees
    * </pre>
    * This property can be used to serve up individual files stored
    * within jar files in addition to the files that are served up by
    * default. If the property has any value, the server finds all jar files
    * in the top-level directory (not in subdirectories). For each
    * jar file, if the name of the jar file is <var>name</var>.jar, then any
    * individual file named <var>file</var> within that jar file (or within
    * the jar or zip files referenced transitively in the Class-Path manifest
    * attribute, can be downloaded using a URL of the form:
    * <pre>
    * http://<var>host</var>:<var>port</var>/<var>name</var>/<var>file</var>
    * </pre>
    * When this property has any value, an open file descriptor and cached
    * information are held for each jar file, for the life of the process.
    * @param args an unused array of command line arguments.
    public static void main(String[] args) {
    Log.makeLog();
    System.out.println("OpenCyc Web Server");
    try {
    // Launch thread to accept HTTP connections.
    current = new WebServer();
    current.start();
    catch (IOException e) {
    e.printStackTrace();
    * Just keep looping, spawning a new thread for each incoming request.
    public void run() {
    try {
    while (true) {
    // Launch thread to process one HTTP request.
    new Task(server.accept()).start();
    catch (IOException e) {
    e.printStackTrace();

    JLundan,
    I want to thank you for responding to the thread I started on the forum at java.sun.com. Your solution to my problem of needing to print the code of the html pages that the file I included generates was just what I was looking for. However, I have some further questions to ask, if you don't mind. To clarify my task I should say that your rephrasing of the problem is accurate: "You wan't to display the contents of the HTML file that the web server produces in response of client's request?"
    Yes, this is what I need to do, but also it needs to display the source code of that html file that the server produces in response to the client's request. Also, in this case, I am the client requesting that the server return some html file, and I'm not sure where the server is. But the webserver.java file that I shared on the forum is on my local machine. I was wondering if I could modify this webserver.java file at my home so that any html file the server returns to me would automatically display the source code. This is a school project of mine and I am stuck on this one thing here.
    Further, where would I put the "foo.html" file so it can be written to?
    FileOuputStream fos = new FileOutputStream("foo.html");
    fos.write(bytes);
    fos.close();
    Thanks so much for your help. I look forward to your response, at your convenience.
    Regards

Maybe you are looking for

  • A word of warning when upgrade the RAM on a new Aluminium iMac

    I was pleasantly surprised to find the new iMac's in the Trafford Centre Apple Store in Manchester, UK yesterday - only 24 hours after the announcement by Steve Jobs. My credit card got the better of me and I bought a 24" 2.4Ghz model and took it hom

  • Error while applying patch MLR#4

    hi, I am getting error while applying patch MLR#4. Can you please let me know whats error can be resolved? Please see below the snapshots from log file. Thanks, Vaibhav Execute perf_wid_pid_pcid.sql Error: Abort transaction java.lang.NullPointerExcep

  • Am I the only one with this problem Seconf Try for an answer

    Hi to all Encore 2.00 users I have searched the forums for a similar problem and have drawn a blank. Can anyone tell me why, when making changes to an Encore Project the sound tracks to the visual ( which are still there) will not play. For example c

  • Discover System with a database cluster environment?

    Hi All We are thinking of getting the Discovery System and are looking into using the SQL Server 2005 Enterprise addition to allow us to use the Discovery System beyond the 180 day evaluation version of SQL Server that comes with the system. Does any

  • MacOS Error Code: -61

    I am running Snow Leopard on a Leopard network. When I access a share through the network and try to edit a file I'm getting the error message, "An attempt to write to this volume failed (MacOS Error code: -61) Other Macs running Leopard on the netwo