从文件中跳过n个字节读取数据

 public static String readString(String filePath,String fileName,int pos) {
        try {
            File file = new File(filePath+fileName);
            if(!file.exists()){
                Log.e(TAG,"文件不存在");
            }
            FileInputStream stream = null;
            stream = new FileInputStream(file);
            int len = 1;//读几个字节
            stream.skip(pos); //跳过pos个字节数
            byte[] b = new byte[len];
            stream.read(b);
            String s = new String(b);
            Log.e(TAG, " 读取了 " + new String(b));
            stream.close();
            return s;
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return "";
    }

这里说明一下 第一个参数是文件路径比如(abc/cba/),第二个是文件的名字比如(test.txt) 第三个参数是跳过的位数比如(你想读取第5位 那 pos=4)读取一位 就是第五位。

在这里插入图片描述

**
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
举个栗子

**

一个文件是由十万个0和十万个1组成的,你只想要第10个,你每次不可能把全部都读取出来再计算吧,这样也太耗时了吧。
目前这是我的解决办法,如果有大佬有更好的帮忙留言一下,谢谢。

在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值