Java:文本文件到二维数组

     2023-02-25     26

关键词:

【中文标题】Java:文本文件到二维数组【英文标题】:Java: Text file to 2D array 【发布时间】:2014-07-29 12:16:14 【问题描述】:

我需要获取一个文本文件并从该文件中的文本初始化一个二维数组。文本文件中的每一行有 20 个字符。 5 行。

到目前为止,我只有

int totalRow = 5;
int totalColumn = 20
char[][] myArray = new char[totalRow][totalColumn];
File file = new File("test.txt");
Scanner scanner = new Scanner(file);

int row = 0;
int column = 0;

    while (scanner.hasNextLine())
        while (scanner.hasNext())
            myArray[row][column] = scanner.next();
            column++;
        
    row++;
    

我现在遇到的问题是我收到错误:字符串无法转换为字符

另外我对扫描器类不是很熟悉,所以如果 hasNextLine 和 hasNext 不适合我想要实现的目标,请告诉我。

【问题讨论】:

mattgemmell.com/what-have-you-tried 继续吧。写更多的代码。如果您遇到特定问题 - 请返回确切的问题。 很公平,我将编辑我的主要帖子 @PM 77-1 我已经用我当前的循环更新了这个问题。 scanner.next() 返回一个String。您仍然需要提取单个字符。 【参考方案1】:

不是最有效的解决方案,但不会偏离原始版本太多,这应该可以满足您的需求:

int totalRow = 5;
int totalColumn = 20;
char[][] myArray = new char[totalRow][totalColumn];
File file = new File("test.txt");
Scanner scanner = new Scanner(file);


for (int row = 0; scanner.hasNextLine() && row < totalRow; row++) 
    char[] chars = scanner.nextLine().toCharArray();
    for (int i = 0; i < totalColumn && i < chars.length; i++) 
        myArray[row][i] = chars[i];
    

编辑:再想一想,如果您对列宽有信心,可以进一步简化代码:

int totalRow = 5;
char[][] myArray = new char[totalRow][];
File file = new File("test.txt");
Scanner scanner = new Scanner(file);

for (int row = 0; scanner.hasNextLine() && row < totalRow; row++) 
    myArray[row] = scanner.nextLine().toCharArray();

【讨论】:

【参考方案2】:

我会亲自使用 BufferReader 实例来获取文本文件中每一行的对象。使用迭代器获取每一行的实例后,您可以通过以下链接将该对象转换为 String 和 char:How to convert/parse from String to char in java?。如果你已经不知道该怎么做了。

另外,请确保 nextLine 是否为空。您想退出迭代器。您可以根据需要将这些 char 放入二维数组中。我希望这会有所帮助。

【讨论】:

如何将二维数组写入文本文件?

】如何将二维数组写入文本文件?【英文标题】:HowdoIwritea2-dimensionalarraytoatextfile?【发布时间】:2017-11-2808:17:15【问题描述】:我正在尝试编写一个程序,它接收来自用户的输入并使用提供的输入创建一个二维数组。它将值正确... 查看详情

在文本文件中的二维字符数组在java中有空格

我有一个文本文件,其中包含奖牌的团队成绩,每一行代表一个团队在五场比赛中的总奖牌,每个角色是单个游戏中的奖牌:GSGBSSSBGGGSB我使用扫描仪将文件转换为字符串:StringfileName=keyboard.nextLine();ScannerteamMedals=newScanner(newFile(fi... 查看详情

如何从 .t​​xt 中提取文本并将其存储到动态二维数组中?

】如何从.t​​xt中提取文本并将其存储到动态二维数组中?【英文标题】:Howtopulltextoutofa.txtandstoreitintoadynamic2darray?【发布时间】:2021-12-0911:07:50【问题描述】:我需要从我的.txt文件中逐行提取文本并将其存储到一个动态数组... 查看详情

读取.txt文件并组织成二维数组

...:10:23【问题描述】:我希望获取一个50行乘2列的有点长的文本文件,让用户输入文件名并将其读入一个二维数组。文本文件是有组织的名称(包括逗号)和数字的组合。我可以让控制台显示文本文件本身,但是在将数据组织到数... 查看详情

java - 如何获得将二维数组打印到java中的两个文件的功能?

】java-如何获得将二维数组打印到java中的两个文件的功能?【英文标题】:HowdoIgetthefunctiontoprintouta2Darrayintotwofilesinjava?【发布时间】:2016-03-1705:48:00【问题描述】:我的目标是获取一个包含名称和数字的文件,第一行将命名列,... 查看详情

vba批量导入文本文件,如何转换二维数组?

导入多个带分隔符的得文本文件时生成数组后怎么对数组进行处理?求大神帮忙解决下!Sub导入文本文件()Dimstr,arr,brrWithApplication.FileDialog(msoFileDialogFolderPicker)'取得用户选择的文件夹路径.AllowMultiSelect=FalseIf.ShowThenp=.SelectedItems(1... 查看详情

java示例代码_从文本文件存储到数组行标记中

java示例代码_从文本文件存储到数组行标记中 查看详情

python csv文本文件到数组[i,j]

】pythoncsv文本文件到数组[i,j]【英文标题】:pythoncsvtextfiletoarray[i,j]【发布时间】:2012-11-0303:01:04【问题描述】:我刚开始学习python,所以我需要一些帮助。我有closeparams.txt文件,它具有CSV结构:3;700;3;10;16;300;3;20;19;500;2;10;5我需... 查看详情

如何读取文本文件并将其行添加到 Java 中的数组中?

】如何读取文本文件并将其行添加到Java中的数组中?【英文标题】:HowtoreadatextfileandaddlinesofitintoanarrayinJava?【发布时间】:2022-01-0710:11:43【问题描述】:我是编码新手,我想知道如何将文本文件的行添加到程序中的数组中。我... 查看详情

qt中如何读取csv文件到二维数组

...。请问该怎么实现?谢谢各位大侠!(QtC++)csv文件格式为文本文件,利用QTextStream按行读取存入QString对象,再按逗号拆分开,tiInt()就得到一行的4个元素,循环读取每行即可需要注意csv文件的编码格式,好像不是utf8,可能需要转换... 查看详情

java示例代码_从文本文件中读取数据,并将其中的一些数据保存到数组中

java示例代码_从文本文件中读取数据,并将其中的一些数据保存到数组中 查看详情

稀疏数组简单使用(代码片段)

...录 1、什么是稀疏数组2、简单使用3、将稀疏数组存入文件后再读取并还原为二维数组  1、什么是稀疏数组假如有一个二维数组,里面只存了少数的值,然后我们需要将这个数组持久化到磁盘文件,在此之前请先想想... 查看详情

jni维数组:将二维数组从java传递给c

我正在努力完成以下任务。Java文件请求用户输入两个数字,其中两个数字用于确定二维数组的行数和列数。这两个数字被传递给本机方法。在本机方法中,基于从A到Z的随机字符创建阵列的内容。然后,Native方法将生成的数组传... 查看详情

二维对象数组 YAML 到 Java

】二维对象数组YAML到Java【英文标题】:2DarrayofobjectsYAMLtoJava【发布时间】:2014-06-1112:59:32【问题描述】:我正在尝试在Java中反序列化我在YAML中组合的二维数组。我正在为此使用Yamlbeans库。这是我的YAML:states:-0:-name:SPAWNINGSTATEdur... 查看详情

java示例代码_将文件读入二维数组

java示例代码_将文件读入二维数组 查看详情

java示例代码_读取一个由int和字符串组成的文本文件,并将它们存储到数组中

java示例代码_读取一个由int和字符串组成的文本文件,并将它们存储到数组中 查看详情

为啥我的程序没有将字符从文件输入到二维数组中?

】为啥我的程序没有将字符从文件输入到二维数组中?【英文标题】:Whyisn\'tmyprograminputingcharsinto2darrayfromfile?为什么我的程序没有将字符从文件输入到二维数组中?【发布时间】:2016-10-2802:16:13【问题描述】:我正在尝试将字符... 查看详情

从文件中逐行读取并存储到二维数组中

】从文件中逐行读取并存储到二维数组中【英文标题】:Readinglinebylinefromafileandstoringintoa2darray【发布时间】:2018-02-2621:05:40【问题描述】:我正在尝试从文件中逐行读取并将其存储到二维数组中。我得到了一个非常奇怪的输出,... 查看详情