当前位置: 首页 > 面试题库 >

如何一次读取文件x字节?在java中

倪阳飇
2023-03-14
问题内容

我想将文件读入Java的String中,一次x个字符。然后,我将对字符串进行某些操作,并希望从我中断的地方继续。我该怎么办?

编辑:

目标文件是一个简单的文本文件。


问题答案:

好吧,首先您需要区分 字节字符
。您可以一次从InputStream一定数量的字节中读取(作为最大数量;不能保证您将获得所需的所有字节),并且一次可以读取Reader多个字符(再次,最大)。

听起来您 可能
想要在InputStreamReader周围使用InputStream,指定适当的字符编码,然后从中读取InputStreamReader。如果必须有
准确 的字符数,则需要循环-例如:

public static String readExactly(Reader reader, int length) throws IOException {
    char[] chars = new char[length];
    int offset = 0;
    while (offset < length) {
        int charsRead = reader.read(chars, offset, length - offset);
        if (charsRead <= 0) {
            throw new IOException("Stream terminated early");
        }
        offset += charsRead;
    }
    return new String(chars);
}


 类似资料:
  • 我想以UTF-8快速地逐行读取大的csv文件(大约~1GB)。我已经为它创建了一个类,但它不能正常工作。UTF-8从2字节解码西里尔符号。我使用字节缓冲区来读取它,例如,它有10个字节的长度。因此,如果文件中的符号由10和11字节组成,它将无法正常解码:(

  • 问题内容: 我正在尝试在Android应用程序中获取文件内容(以字节为单位)。我已经在SD卡中获取了文件,现在想获取选定的文件(以字节为单位)。我用谷歌搜索,但没有成功。请帮忙 以下是获取带有扩展名的文件的代码。通过这个,我得到文件并显示在微调器中。在文件选择上,我想以字节为单位获取文件。 问题答案: 这很简单: 在manifest.xml中添加权限:

  • 问题内容: 我想一次从文件中读取一个数字列表作为一个字符,一次检查一个字符,以检查该字符是什么,是否是数字,句点,+或-,e或E或其他一些字符。 ..然后基于此执行我想要的任何操作。如何使用已有的现有代码执行此操作?这是我尝试过的示例,但是没有用。我是python的新手。提前致谢! 问题答案: 从文件中读取行。以文本块的形式读取整个文件,然后遍历文本的每个字符:

  • 问题内容: 我需要一次最多读取N行来读取一个大文件,直到EOF。在Python中最有效的方法是什么?就像是: 问题答案: 一种解决方案是列表理解和分片运算符: 在这之后是行的元组。但是,这会将整个文件加载到内存中。如果您不希望这样做(即文件可能真的很大),则可以使用生成器表达式和itertools包中的另一种解决方案: 是一个生成器对象,它为您提供文件的每一行,并且可以在这样的循环中使用: 两种解

  • 问题内容: 如何在Java中将文件读取为字节? 重要的是要注意,所有字节都必须为正,即不能使用负范围。 可以用Java完成吗,如果可以,怎么做? 我需要能够将文件的内容乘以一个常数。我以为我可以将字节读取到BigInteger中,然后相乘,但是由于某些字节为负,所以我最终得到12 13 15 -12等并被卡住。 问题答案: 嗯,Java没有无符号字节的概念……该类型始终是带符号的,其值介于-128

  • 问题内容: 谁能告诉我该怎么做? 问题答案: