0

私はJavaプログラミング言語を初めて使用します。実際、プログラミングの基本的な概念しか持っていません。次の Java コードに出くわしましたが、そこにある関数を理解できませんでした。誰かが「outData.writeInt()」の機能と使用方法を親切に説明してくれたらありがたいです。ありがとうございました。

 try {
    if(moe.getSource() == forward)outData.writeInt(1);
    if(moe.getSource() == reverse)outData.writeInt(2);
    if(moe.getSource() == leftTurn)outData.writeInt(3);
    if(moe.getSource() == rightTurn)outData.writeInt(4);
    if(moe.getSource() == speedUp)outData.writeInt(6);
    if(moe.getSource() == slowDown)outData.writeInt(7);

    outData.flush(); 
    }
 catch (IOException ioe) {
    System.out.println("\nIO Exception writeInt");
 }
4

2 に答える 2

2

簡単な Google がDataOutputStream.writeInt()のドキュメントを提供してくれます

基礎となる出力ストリームに int を 4 バイトとして、上位バイトが最初に書き込みます。例外がスローされない場合、書き込まれたカウンターは 4 ずつインクリメントされます。

DataOutputStreamファイル、またはおそらくネットワーク接続に書き込みます。

于 2012-08-14T12:59:53.977 に答える
2

writeInt()は DataOutputStream に記載されています

基礎となる出力ストリームに int を 4 バイトとして、上位バイトが最初に書き込みます。例外がスローされない場合、書き込まれたカウンターは 4 ずつインクリメントされます。

int簡単に言えば、ビッグエンディアンで32 ビット値を書き込みます。


メソッドの機能を知りたい場合は、ソースから始めるのが良いでしょう

/**
 * Writes an <code>int</code> to the underlying output stream as four
 * bytes, high byte first. If no exception is thrown, the counter
 * <code>written</code> is incremented by <code>4</code>.
 *
 * @param      v   an <code>int</code> to be written.
 * @exception  IOException  if an I/O error occurs.
 * @see        java.io.FilterOutputStream#out
 */
public final void writeInt(int v) throws IOException {
    out.write((v >>> 24) & 0xFF);
    out.write((v >>> 16) & 0xFF);
    out.write((v >>>  8) & 0xFF);
    out.write((v >>>  0) & 0xFF);
    incCount(4);
}
于 2012-08-14T13:00:12.270 に答える