Java如何逐行读取文件并更改文件行的特定部分
我是java新手,老师给了我们一个项目作业。我必须实现逐行读取文件,在逗号处对行进行切片,并将部分存储在多维数组中,更改行的特定部分(我想更改数量)。 给定的文件:Java如何逐行读取文件并更改文件行的特定部分,java,file,Java,File,我是java新手,老师给了我们一个项目作业。我必须实现逐行读取文件,在逗号处对行进行切片,并将部分存储在多维数组中,更改行的特定部分(我想更改数量)。 给定的文件: product1,type,amount product2,type,amount product3,type,amount product4,type,amount product5,type,amount 我尝试了这段代码,但无法更改特定部分 BufferedReader reader; int j=0;
product1,type,amount
product2,type,amount
product3,type,amount
product4,type,amount
product5,type,amount
我尝试了这段代码,但无法更改特定部分
BufferedReader reader;
int j=0;
int i=0;
try {
reader = new BufferedReader(new FileReader("file.txt"));
String line = reader.readLine();
while (line != null) {
j++;
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
String total_length[][]=new String[j][3];
try {
reader = new BufferedReader(new FileReader("file.txt"));
String line = reader.readLine();
while (line != null) {
line = reader.readLine();
String[] item = line.split(",");
total_length[i][0]=item[0];
total_length[i][1]=item[0];
total_length[i][2]=item[0];
i++;
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
非常感谢 首先,您需要读取文件。有很多方法可以做到这一点,其中之一是:
BufferedReader s = new BufferedReader(new FileReader("filename"));
它允许您执行s.readLine()来逐行读取它。
您可以使用while循环来读取它,直到结束。请注意,如果到达文件末尾,readLine将返回null。
然后,对于每一行,你想用昏迷来分割它们。可以使用字符串的拆分方法:
line.split(",");
将所有这些放在一起,并使用try catch for IOException,您可以得到:
List<String[]> result = new ArrayList<>();
try (BufferedReader s = new BufferedReader(new FileReader("filename"))) {
String line;
while ((line = s.readLine()) != null) {
result.add(line.split(","));
}
} catch (IOException e) {
// Handle IOExceptions here
}
然后,您已经以所需的格式读取了文件,现在可以修改解析的数据 您尝试了什么?我使用BufferedReader读取文件,使用for loop将值存储在数组中,但我无法写入。无法写入?你的问题中根本没有提到写作。请编辑问题以澄清您需要什么,并包括代码和任何相关错误消息。很抱歉,我的意思是“我无法更改特定部分”,因此您成功生成多维数组,并且在修改该数组的元素时遇到困难?
String[][] array = new String[0][0];
array = result.toArray(array);