读取十六进制字节数组中的文件并将该数组的一部分写入另一个文件 - java android

哈米德·哈比比

我有一个 200kb 的文件,我必须以字节为单位读取它,然后将此 byteArray 的一部分(从索引 90000 到 165000)写入另一个文件。我怎样才能做到这一点。

File file1 = new File(getExternalStorageDirectory(), "file1.raw"); //the 200kb file
try {
         File.createTempFile("file2", "mp3", getCacheDir()); //empty file that needs to get filled with part of the byte array from file1
        } catch (IOException ignored) {}

迈克尔·亚历克斯基斯

使用 aRandomAccessFile来寻找开始复制的偏移量。

例如:

final int bufSize = 1024; // the buffer size for copying
byte[] buf = new byte[bufSize];

final long start = 10000L; // start offset at source
final long end = 15000L;   // end (non-inclusive) offset at source
try (
    RandomAccessFile in = new RandomAccessFile("input.bin", "r");
    OutputStream out = new FileOutputStream("output.bin")) 
{
      in.seek(start);
      long remaining = end - start;
      do {
         int n = (remaining < bufSize)? ((int) remaining) : bufSize;
         int nread = in.read(buf, 0, n);
         if (nread < 0)
             break; // EOF
         remaining -= nread;
         out.write(buf, 0, nread);
      } while (remaining > 0);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将Java字节数组的一部分附加到StringBuilder

解析Java中的xml文件的一部分(Android)

传递一个字节数组从Java到蟒使用Chaquopy的Android

在Java中创建十六进制字节数组

一个人如何学习Java?(将字节数组转换为十六进制字符串)

Java / Android:通过套接字读取/写入字节数组

如何将Mac地址转换为十六进制并将其传递给Java中的字节数组

Java如何从指定的字节位置读取文件的一部分?

仅等待另一个线程的一部分-Java

将十六进制数据读入Java中的字节数组?

从Java中的Google云端存储读取/下载文件的一部分

Java Swing:擦除图像的一部分,在下面暴露另一个图像

如何将字节数组写入现有文件的一部分?

复制Java对象数组的一部分

如何在Java中将字节数组写入文件?

如何在Java中将字节数组写入二进制文件

JNI Android-将char *转换为字节数组并将其返回给Java

Android | 如何读取文件到字节数组?

仅调用活动的一部分(Android Studio,Java)

如何在Java中将字节数组转换为十六进制字符串?

将奇数长度的Java字符串转换为十六进制字节数组

Java十六进制字节数组转换为整数而不先转换为String

分析字节数组以在android或java中分类

Java中未知长度的字节数组:第二部分

从一个Java文件读取并写入另一个Java文件

Java删除文件路径的一部分

在Java 7中删除二进制文件的一部分的最佳方法是什么

Java:读取文本文件的一部分

如何从字节数组创建文件并将其添加到android中的画廊