gpt4 book ai didi

java - 使用 Java 从文件中读取特定行和列

转载 作者:行者123 更新时间:2023-12-01 11:46:18 24 4
gpt4 key购买 nike

我有一个如下所示的文本文件:

   A  B  C  D
A 5 7 10 2
B 1 5 4 20
C 10 1 8 4
D 5 7 4 2

所以它应该是一个矩阵,我想做的是:

1) 获取 vector 名称(可以通过阅读第一行轻松完成)。

2) 仅可视化数字。

3) 将数字存储在二维数组中。

我已经做了第一步,剩下第二步和第三步。

这是我的代码:

LectureFichier.java:

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class LectureFichier {

public void lireFichier() {

BufferedReader br = null;

try {

String sCurrentLine;

br = new BufferedReader(new FileReader("myFile"));

sCurrentLine = br.readLine();

System.out.println("*******************Lignes*******************");

String[] nomsAuteurs = sCurrentLine.split(" ");

for(String auteur : nomsAuteurs) {
System.out.println(auteur);
}

System.out.println("*******************Colonnes*******************");

while ((sCurrentLine = br.readLine()) != null) {
String[] colonnes = sCurrentLine.split(" ");
for(String colonne : colonnes) {
System.out.println(colonne);
}
}

} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (br != null)br.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}

}

}

Main.java:

public class Main {

public static void main(String[] args) {

LectureFichier lectureFichier = new LectureFichier();

lectureFichier.lireFichier();

}

}

当我运行此代码时,它会给出如下结果:

A57102B15420C10184D5742

因为这一段:

for(String colonne : colonnes) {
System.out.print(colonne);
}

println(colonne) 会将每个分割放在不同的行中。

我现在想要的是能够拥有这样的东西:

5  7  10 2
1 5 4 20
10 1 8 4
5 7 4 2

我做错了什么?我该如何修复它?

谢谢!

最佳答案

你的代码应该是,

while ((sCurrentLine = br.readLine()) != null) {
String[] colonnes = sCurrentLine.split(" ");
for(int i=1; i<colonnes.length; i++ ) {
System.out.print(colonnes[i]+ " ");
}
System.out.println();
}

获得您期望的输出。

您应该在 for 循环中打印一行中的所有元素,然后为从文件中读取的下一行打印换行符。

关于java - 使用 Java 从文件中读取特定行和列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29104928/

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