gpt4 book ai didi

java - 是否有与 Java 中的 Scanner 类等效的单声道(.Net)

转载 作者:行者123 更新时间:2023-11-29 04:03:29 26 4
gpt4 key购买 nike

在 Java 中,有一个名为 Scanner 的类,用于将特定格式的字符串和流读取为数据结构,如整数、 float ......在 Mono 中是否有任何等效项?在 .Net 中有一个二进制读取器,但它将数据读取为二进制文件。我想要一个通过从字符串中解析数据来读取数据的类。

编辑:对当前答案的 react ,我知道大多数数据类型都有解析方法,但问题是它们不会按顺序读取字符串。在 Java 中,您只需初始化对象,然后通过激活方法,依次读取数据类型。

最佳答案

好吧,既然您正在为测试用例读取文件,我假设您知道传入数据的确切格式以及需要如何解析它。在文档中查看 Java 的 Parser 类确实使它看起来非常复杂或不仅仅是一个方便的类。它似乎只是对空格上的流字符串进行标记,并提供获取标记和解析它的函数。据我所知,.Net 没有等效的类。因此,如果您想要重用一个,那么您需要自己编写一个。

但是您需要的基本算法是读取文件内容、拆分标记并解析它们。如果您的文件大小合适,您可以使用 File.ReadAllLines() 将文件的内容逐行读取到 String[] 中。或者您可以使用 StreamReader 类使用其 ReadLine() 一次读取一行。然后,一旦您将它们排成一行,就可以使用 StringSplit() 对它们进行标记,然后解析它们。

不知道您需要如何使用文件中的值,一个非常基本的模式可能是:

// Read in the whole file
String[] strLines = File.ReadAllLines(strFilePath);

// Loop through each of the lines to process their contents
foreach (String strLine in strLines) {
// Tokenize on the spaces
String[] strTokens = strLine.Split(' ');

// Parse the values
int iIntValue = Int.Parse(strTokens[0]);
double dDoubleValue = Double.Parse(strTokens[1]);

// Do something with the values
}

创建您自己的 Parser 类将允许您在使用时维护状态和自动推进标记。如果您走那条路,StreamReader 可能是最佳选择。

关于java - 是否有与 Java 中的 Scanner 类等效的单声道(.Net),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1867029/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com