try (InputStream inputStream = Files.newInputStream(path1); OutputStream outputStream = Files.newOutputStream(path2)) { byte[] array1 = inputStream.readAllBytes(); byte[] array2 = new byte[array1.length]; for (int i = 1; i < array1.length; i += 2) { array2[i - 1] = array1[i]; array2[i] = array1[i - 1]; if (i == array1.length - 2) { array2[i + 1] = array1[i + 1]; break; } } outputStream.write(array2);