How to remove trailing nulls (0) from byte array in Java

2 Answers

0 votes
public class RemoveTrailingNullsFromArray {
    public static byte[] removeTrailingNulls(byte[] byteArray) {
        int lastIndex = byteArray.length - 1;
        
        while (lastIndex >= 0 && byteArray[lastIndex] == 0) {
            lastIndex--;
        }
        
        byte[] trimmedArray = new byte[lastIndex + 1];
        System.arraycopy(byteArray, 0, trimmedArray, 0, lastIndex + 1);
        
        return trimmedArray;
    }

    public static void main(String[] args) {
        byte[] byteArray = {1, 2, 3, 0, 0, 0, 0};
        
        byte[] trimmedArray = removeTrailingNulls(byteArray);
        
        for (byte b : trimmedArray) {
            System.out.print(b + " ");
        }
    }
}


/*
run:

1 2 3 

*/

 



answered Mar 12, 2025 by avibootz
0 votes
public class RemoveTrailingNullsFromArray {
    public static byte[] removeTrailingNulls(byte[] byteArray) {
        int lastIndex = -1;
        
        for (int i = byteArray.length - 1; i >= 0; i--) {
            if (byteArray[i] != 0) {
                lastIndex = i;
                break;
            }
        }
        
        byte[] trimmedArray = new byte[lastIndex + 1];
        System.arraycopy(byteArray, 0, trimmedArray, 0, lastIndex + 1);
        
        return trimmedArray;
    }    

    public static void main(String[] args) {
        byte[] byteArray = {1, 2, 3, 0, 0, 0, 0};
        
        byte[] trimmedArray = removeTrailingNulls(byteArray);
        
        for (byte b : trimmedArray) {
            System.out.print(b + " ");
        }
    }
}


/*
run:

1 2 3 

*/

 



answered Mar 12, 2025 by avibootz

Related questions

1 answer 92 views
1 answer 146 views
1 answer 105 views
2 answers 107 views
1 answer 87 views
1 answer 158 views
1 answer 84 views
...