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

如何在java中将文件读入字符串?

水飞掣
2023-03-14
问题内容

我已将文件读入字符串。该文件包含各种名称,每行一个名称。现在的问题是,我希望将这些名称放在String数组中。

为此,我编写了以下代码:

String [] names = fileString.split("\n"); // fileString is the string representation of the file

但是我没有得到预期的结果,分割字符串后获得的数组长度为1。这意味着“ fileString”不具有“ \ n”字符,但是文件具有此“ \ n”字符。

那么如何解决这个问题呢?


问题答案:

问题不在于如何分割字符串。那一点是正确的。

您必须查看如何将文件读取到字符串。您需要这样的东西:

private String readFileAsString(String filePath) throws IOException {
        StringBuffer fileData = new StringBuffer();
        BufferedReader reader = new BufferedReader(
                new FileReader(filePath));
        char[] buf = new char[1024];
        int numRead=0;
        while((numRead=reader.read(buf)) != -1){
            String readData = String.valueOf(buf, 0, numRead);
            fileData.append(readData);
        }
        reader.close();
        return fileData.toString();
    }


 类似资料:
  • 问题内容: 我有很多小文件,我不想逐行阅读它们。 Go中是否有将整个文件读入字符串变量的函数? 问题答案: 用途: ReadFile读取以文件名命名的文件并返回内容。成功调用将返回err == nil,而不是err == EOF。由于ReadFile读取整个文件,因此不会将Read中的EOF视为要报告的错误。 您会得到一个而不是。如果 确实 需要,可以将其转换为:

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

  • 问题内容: 我想通过获取从EditText输入的文本来将文件保存到内部存储中。然后,我希望同一个文件以字符串形式返回输入的文本,并将其保存到另一个字符串中,以备后用。 这是代码: 我提供了一些评论,以帮助你进一步分析我要在哪里完成操作/使用变量的观点。 问题答案: 希望这对你有用。 写文件: 读取文件:

  • 在处理html表单输入并通过php发送电子邮件进行响应的上下文中,而不是在代码中间使用冗长的heredoc赋值语句,我希望将电子邮件文本保存在文件中,并在需要时读取它,根据需要扩展嵌入的变量。 使用适当准备的HTML表单数据输入,我以前有… 移动文本到一个文件,我然后尝试… …但发现文本中的变量没有展开,导致输出包括作为文字的变量标识符。 当将文件读入字符串时,是否有方法将变量展开?

  • 问题内容: 我可以将文件读取为字节数组 但是当我将其转换为字符串时 它将utf16字节视为ASCII 如何正确转换? 输出: 假 [255 254 91 0 83 0 99 0 114 0 105 0 112 0 116 0 32 0 73 0 110 0 102 0 111 0 93 0 13 0] Script I nfo] 更新: 在测试了两个示例之后,我已经了解了确切的问题。 在Windo

  • 问题内容: 这一定很明显,但我无法弄清楚。我为此花了将近一整天。我很乐意给减轻我体重的人买啤酒。 这是我的代码。我看到字节数组大小不合适,但是我找不到正确的大小。除此之外,内容也不是不正确的。似乎只有文字字符可以。 似乎从二进制文件中删除数据确实很痛苦,我真的很沮丧。 还有一件事:文件内容不是文本,可以是图片,视频或pdf之类的东西。 问题答案: 如果你正在读一个二进制文件,你应该 不 尝试把它当