2017-02-04 8 views
0

Netbeansを使用してプログラムを作成しましたが、ターミナルで実行してソケットプログラミングの有効性をチェックします。最初のファイルServerClient.javaを正常にコンパイルできましたが、実行できませんでした。ターミナルマッキントッシュでjavaプログラムを実行できません

Puja:echoserver pujadudhat$ javac ServerProgram.java 
Puja:echoserver pujadudhat$ $javac ServerProgram.java -d 
-bash: ServerProgram.java: command not found 
Puja:echoserver pujadudhat$ 
:ここに私のプログラミング・ファイル

ServerProgram.java

package echoserver; 

public class ServerProgram { 

/** 
* @param args the command line arguments 
*/ 
public static void main(String[] args) { 

    if (args.length != 1) { 
     System.err.println("Usage: java Server <port number>"); 
     System.exit(1); 
    } 

    int portNumber = Integer.parseInt(args[0]); 

    try (
     ServerSocket serverSocket = 
      new ServerSocket(Integer.parseInt(args[0])); 
     Socket clientSocket = serverSocket.accept();  
     PrintWriter out = 
      new PrintWriter(clientSocket.getOutputStream(), true);     
     BufferedReader in = new BufferedReader(
      new InputStreamReader(clientSocket.getInputStream())); 
    ) { 
     String inputLine; 
     while ((inputLine = in.readLine()) != null) { 
      out.println(inputLine); 
     } 
    } catch (IOException e) { 
     System.out.println("Exception caught when trying to listen on port " 
      + portNumber + " or listening for a connection"); 
     System.out.println(e.getMessage()); 
    } 
} 

}

ClientProgram.java

package echoserver; 

public class ClientProgram { 
public static void main(String[] args) throws IOException { 

    if (args.length != 2) { 
     System.err.println(
      "Usage: java Client <host name> <port number>"); 
     System.exit(1); 
    } 

    String hostName = args[0]; 
    int portNumber = Integer.parseInt(args[1]); 

    try (
     Socket socket = new Socket(hostName, portNumber); 
     PrintWriter out = 
      new PrintWriter(socket.getOutputStream(), true); 
     BufferedReader in = 
      new BufferedReader(
       new InputStreamReader(socket.getInputStream())); 
     BufferedReader stdIn = 
      new BufferedReader(
       new InputStreamReader(System.in)) 
    ){ 
     String userInput; 
     while ((userInput = stdIn.readLine()) != null) { 
      out.println(userInput); 
      System.out.println("socket: " + in.readLine()); 
     } 
    } catch (UnknownHostException e) { 
     System.err.println("Don't know about host " + hostName); 
     System.exit(1); 
    } catch (IOException e) { 
     System.err.println("Couldn't get I/O for the connection to " + 
      hostName); 
     System.exit(1); 
    } 
} 

}

cmdがあります

+1

これを参照してくださいhttp://stackoverflow.com/questions/7485670/error-could-not-find-or-load-main-class – Coder

答えて

0

次のようにコードをコンパイルします。あなたの場合

$javac YourJavaFileName.java -d . 

$javac ServerProgram.java -d .を。

すると、次のように実行します。

$java PackageName.ClassName 

をお使いの場合:java echoserver.ServerProgram

別の同様のquestion hereを参照できます。

+0

私はエラーが発生します。私はエラー –

+0

上に掲示を見ていてください。ServerProgram.java:echoserver pujadudhat $ $のjavac ServerProgram.javaを -bashを-d プジャコマンドが見つかりません:echoserver pujadudhat $ –

+0

プジャなっM Iは –

関連する問題