Java 从文件中读取数据而无需手动输入数组的长度
请我想调整这个从文件中读取整数的代码。 我希望代码能够检测数据集的数量(n),而不必像下面(4000)那样手动输入数字 双人[]高=新双人[4000]Java 从文件中读取数据而无需手动输入数组的长度,java,Java,请我想调整这个从文件中读取整数的代码。 我希望代码能够检测数据集的数量(n),而不必像下面(4000)那样手动输入数字 双人[]高=新双人[4000] public class Extracto { public static void main(String[] args) throws IOException { File fil = new File("C:\\Users\\Desktop\\kaycee2.csv"); FileReader i
public class Extracto {
public static void main(String[] args) throws IOException {
File fil = new File("C:\\Users\\Desktop\\kaycee2.csv");
FileReader inputFil = new FileReader(fil);
BufferedReader in = new BufferedReader(inputFil);
double[] tall = new double[4000];
String s = in.readLine();
int i = 0;
while (s != null) {
// Skip empty lines.
s = s.trim();
if (s.length() == 0) {
continue;
}
tall[i] = Double.parseDouble(s); // This is line 19.
// System.out.println(tall[i]);
s = in.readLine();
i++;
}
我希望调整后的代码能够获得数据长度,而无需手动输入,如下面4000长度的代码所示
双人[]高=新双人[4000] 正如Thomas提到的,使用列表而不是数组
public class Extracto {
public static void main(String[] args) throws IOException {
File fil = new File("C:\\Users\\Desktop\\kaycee2.csv");
FileReader inputFil = new FileReader(fil);
BufferedReader in = new BufferedReader(inputFil);
double[] tall = new double[4000];
String s = in.readLine();
int i = 0;
while (s != null) {
// Skip empty lines.
s = s.trim();
if (s.length() == 0) {
continue;
}
tall[i] = Double.parseDouble(s); // This is line 19.
// System.out.println(tall[i]);
s = in.readLine();
i++;
}
File fil = new File("C:\\Users\\Desktop\\kaycee2.csv");
FileReader inputFil = new FileReader(fil);
BufferedReader in = new BufferedReader(inputFil);
ArrayList<Double> tall = new ArrayList<>();
while(in.ready()){
String s = in.readLine().trim();
if(!s.isEmpty()){
tall.add(Double.parseDouble(s);
}
}
File fil=新文件(“C:\\Users\\Desktop\\kaycee2.csv”);
FileReader inputFil=新的FileReader(fil);
BufferedReader in=新的BufferedReader(inputFil);
ArrayList tall=新的ArrayList();
while(in.ready()){
字符串s=in.readLine().trim();
如果(!s.isEmpty()){
toll.add(Double.parseDouble(s);
}
}
如果使用列表,则可以进一步压缩代码。
当读取的字符串不是数字时,也要添加一个try catch。使用a而不是arrayThank your very@angle