当前位置: 首页 > 知识库问答 >
问题:

将不同类型的类型从 txt 文件存储到数组 Java

柴衡
2023-03-14

我有一个这样的 txt 文件

163钱滴24

454快乐112

45 没有你什么都没有 56

第一个数字是歌曲的id,我想将其存储为整数,第二个数字是字符串!这不是一个词!第三个是整数,它是歌曲的点赞数。我想将它们存储在一个数组中,但当我使用scanner方法时,我会逐字存储它们,当歌曲有名字时

public void readFile() {
    while(x.hasNext()){
        Song test = new Song(Integer.parseInt(x.next()), x.next(), Integer.parseInt(x.next()));
    }
}

有什么方法可以读取 txt 文件,将第一个数字存储为 int,然后扫描整个字符串(歌曲名称),直到下一个元素是数字?

共有2个答案

洪梓
2023-03-14

因为没有分隔符,我假设第一个单词是id,最后一个单词是赞数,中间的其他单词是名字。因此,您可以使用以下方法:

String line = scanner.nextLine();
        String[] slices = line.split(" ");
        Song test = new Song(Integer.parseInt(slices[0]), line.substring(slices[0].length() + 1, line.lastIndexOf(" ")), slices[slices.length - 1]);
缑泓
2023-03-14

没有正则表达式的最简单方法可能是使用扫描仪阅读标题的单个单词,然后将它们组合在一起以创建名称。像这样:

int id = myScanner.nextInt();
String title = myScanner.next();

//while title has more words
while(!myScanner.hasNextInt()){
   //append words with whitespace
   title = title + " " + myScanner.next();
}

int likes = myScanner.nextInt();
 类似资料:
  • 问题内容: 说我有以下numpy结构化数组: 我想 将其保存到文本文件中的单个空格或制表符分隔的行中 。如果数组都是相同的类型,我可以使用。但是,这似乎不喜欢混合数据类型/结构化数组,例如: 给出此错误: 任何人都可以推荐这样做的方法吗? 问题答案: 编辑 :无论出于什么原因,我似乎都无法单独回答这个问题,因此这是一个更清洁的版本,它不需要使用模块。记录下来,@ askewchan的答案还是更好!

  • 我正在尝试使用共享意图共享一个文件。如果我将“text/平原”设置为mime类型,它会像文本而不是文本文件一样读取内容,那么共享菜单中给出的选项是Whatsapp、Line等。 有人知道如何配置共享意图,使共享选项仅是能够发送<代码>的程序吗。txt文件(Gmail、Dropbox等,但不是Whatsapp等)?谢谢

  • 问题内容: 我想将元素存储在一个列表中,每个元素具有4个参数,我试图创建一个数组列表,该列表为每个元素存储4个参数,它们是不同类型的: iD:int x位置:浮点 y位置:浮点 名称:字符串 我用: 但是当我使用时: 我得到错误: “ ArrayList类型的add(int,Object)方法不适用于参数(in,float,float)” 我不知道如何能够向ArrayList添加不同类型,有没有办

  • 问题内容: 我有两个不同的数组,一个带有字符串,另一个带有整数。我想将它们连接成一个数组,其中每一列都具有原始数据类型。我当前执行此操作的解决方案(请参见下文)将整个数组转换为dtype = string,这似乎在内存方面效率很低。 何时和何时可能使dtypes多元化? 问题答案: 一种方法可能是使用记录数组。“列”与标准numpy数组的列不同,但是对于大多数用例来说,这就足够了: 请注意,您还可

  • 问题内容: 说我有一个包含以下内容的文件: 如何将数据作为整数,浮点数和字符串从文件导入到numpy数组中? 我的目标是: 我一直在玩以下无济于事: 编辑:另一种方法可能是使用ndarray类型,然后进行转换。 问题答案: 用途:

  • 问题内容: 我有一个像这样的文件: 然后在另一个文件中,我有: 然后在另一个文件中,我有: 但这给了我这个错误: Foo不是类型 我可能做错了很多。我想做的是将所有处理程序存储在AllHandlers结构中,但不确定如何执行此操作。 我相信可以这样简化问题: 上面的代码不会编译,主要是因为据我所知,您将返回类型而不是值-例如,使用Class而不是该Class的实例。我该如何进行编译? 参见以下示例