0

eclipse で Java コードを開発しました。私のコードは、server_ip を使用して .txt ファイルからデータを読み取ります。コードの実行可能な jar ファイルを作成し、launch4j を使用して .exe ファイルを作成しました。.exe ファイルは、ラップトップで実行するとデータが表示されますが、他の PC で実行するとデータは表示されません。その後、ヌルポイント例外が表示されます。私のオペレーティング システムは Windows 7-32 ビットです。私はここに私のコードを与えています。解決策を教えてください。

リモートデータをパッケージ化します。

import java.awt.*; 

java.net をインポートします。; java.io をインポートします。;

public class remotedataread extends Frame
{ 
    public static void main(String[] args)
            throws InterruptedException, IOException{

        BufferedReader br = null;
        TextArea FileText = 
        new TextArea(" Content of the File \'temp1.txt\' :"); 

        try
        {   
            URL url = 
                new URL("file://server_ip/path_file.txt");

                        InputStream is = url.openStream(); 
                        br = new BufferedReader(new InputStreamReader(is));
                     /*   String line = null;
                        while (true) {
                            line = br.readLine();
                            if (line == null) {
                                //wait until there is more of the file for us to read
                                Thread.sleep(1000);
                            }
                            else {
                                System.out.println(line);
                            }
                        }*/
        }


        catch (MalformedURLException e)
        {
            System.out.println("Bad URL");
        }
        catch (IOException e)
        {
            System.out.println("IO Error : "+e.getMessage());
        }   

        FileText.setBackground(Color.white);
        FileText.append(String.valueOf('\n'));

        Frame f = new Frame("server data");
        f.setSize(200,200);
        f.add(FileText); 
        f.setVisible(true);

        try
        {
            String s;
            s=null;
            boolean eof = false;
            //while (true) {
            s = br.readLine();
            System.out.println("Time    Temperature");
            while( !eof )
            {
                FileText.append(s + String.valueOf('\n'));
                try
                {
                    s = br.readLine();
                    if ( s == null )
                    {
                                //  eof = true;
                    //  br.close();
                         Thread.sleep(1000);

                    }
                    else{
                        //System.out.println("Time  Temperature");
                        System.out.println(s);
                    }

                }
                catch (EOFException eo)
                        {
                                eof = true;
                        }
                catch (IOException e)
                        {
                                System.out.println("IO Error : "+e.getMessage());
                        }
            }
            //}

        }
        catch (IOException e)
                {
                        System.out.println("IO Error : "+e.getMessage());
                }

    } 

}
4

2 に答える 2

0

あなたの問題はここにあるようです:

 URL url = 
            new URL("file://server_ip/path_file.txt");

                    InputStream is = url.openStream(); 
                    br = new BufferedReader(new InputStreamReader(is));

URL「file://server_ip/path_file.txt」はラップトップでは有効ですが、他のPCでは有効ではありません

于 2013-08-07T09:03:58.853 に答える
0

たぶん、あなたのアプリケーションは他のノードに接続できません..そのため、NullPointer例外がスローされます.コンピュータがネットワークにあることを確認してください

于 2013-08-07T08:51:23.037 に答える