java.lang.NegativeArraySizeException


兩台android設備發送圖片。

發送端:

Socket socket = null;
        try {
            socket = new Socket(ip, 8888);
            byte[] bytes = ScreenCapUtil.ScreenCapToByte();

            DataOutputStream out = new DataOutputStream(socket.getOutputStream());
            out.writeInt(bytes.length);//發送的時候忘記添加了文件的大小。
out.write(bytes); out.close(); socket.close(); } catch (IOException e) { e.printStackTrace(); }

 

接受端:

try {
                        
                        ServerSocket server = new ServerSocket(8888);
                        Socket socket = server.accept();
                        
                        DataInputStream dos = new DataInputStream(socket.getInputStream());
                        int size = dos.readInt();//因為發送時忘記添加文件大小。所以size的為負數
System.out.println("len = " + size); byte[] data = new byte[size];//下標為負數所以出錯了。
int len = 0; while (len < size) { len += dos.read(data, len, size - len); } 
bitmap
= BitmapFactory.decodeByteArray(data, 0, data.length);
handler.sendEmptyMessage(
0);

// System.out.println("data = " + data);

dos.close(); socket.close(); server.close();
}
catch (IOException e)
{ e.printStackTrace(); }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM