从文本中读取Java数据
我正在尝试读取包含3列数据集的ex2data2.txt。我想把它存储在我的x数组和y数组中。但它不起作用。它无法读取文本文件。文本文件的位置与我的代码一起位于我的src文件夹中从文本中读取Java数据,java,file-io,bufferedreader,fileinputstream,Java,File Io,Bufferedreader,Fileinputstream,我正在尝试读取包含3列数据集的ex2data2.txt。我想把它存储在我的x数组和y数组中。但它不起作用。它无法读取文本文件。文本文件的位置与我的代码一起位于我的src文件夹中 double[][] x = new double[180][1]; double[][] y = new double[180][0]; try{ BufferedReader br=new BufferedReader(new FileReader("ex2data
double[][] x = new double[180][1];
double[][] y = new double[180][0];
try{
BufferedReader br=new BufferedReader(new FileReader("ex2data2.txt"));
String words[]=new String[2];
String line=null;
int i = 0;
while((line=br.readLine())!=null){
words=line.split(",");
//double[i] y = Double.parseDouble(words);
x[i][0] = Double.parseDouble(words[0]);
x[i][1] = Double.parseDouble(words[1]);
y[i][0] = Double.parseDouble(words[2]);
i++;
}
br.close();
}
catch(Exception e){
System.err.println("Error: Target File Cannot Be Read");
}
您应该将文件放在顶部的父项目文件夹中。不在src/中
编辑:我已经运行了这个,为了证明
访问文件,读取所有数据
java.lang.NumberFormatException:对于输入字符串:43 323 33这是我放在那个文件中的
下一轮
在纠正了这一点之后
现在已经完成了
请找到我放文件的截图
catch(Exception e){
System.err.println("Error: Target File Cannot Be Read");
}
您应该将文件放在顶部的父项目文件夹中。不在src/中
编辑:我已经运行了这个,为了证明
访问文件,读取所有数据
java.lang.NumberFormatException:对于输入字符串:43 323 33这是我放在那个文件中的
下一轮
在纠正了这一点之后
现在已经完成了
请找到我放文件的截图
catch(Exception e){
System.err.println("Error: Target File Cannot Be Read");
}
任何编写此代码的开发人员都应该立即被解雇
永远不要捕获异常,但要执行正确和特定的错误处理。捕获要处理的最精确错误,例如FileNotFoundException,避免捕获您不知道如何处理的错误。如果有疑问,请重新显示错误,以便外部错误处理程序可以处理它。始终记录错误,除非预期会发生错误
然后您将得到更精确的错误消息。但您选择忽略实际错误e
真正阅读Java书籍或教程,特别是关于正确异常处理的部分。你放弃了你一直做的错误,这让你的生活变得困难
例外情况几乎永远都不应该被忽略。你被要求处理它们是有原因的!事实上,也有未检查的异常,您不需要这样做。更明显的是,在这里,你需要正确处理它们
您的错误很可能是一个BoundsException数组,您不应该捕捉到它
double[][] x = new double[180][1];
double[][] y = new double[180][0];
这个太小了。你可能需要
double[][] x = new double[180][2];
double[][] y = new double[180][1];
任何编写此代码的开发人员都应该立即被解雇
永远不要捕获异常,但要执行正确和特定的错误处理。捕获要处理的最精确错误,例如FileNotFoundException,避免捕获您不知道如何处理的错误。如果有疑问,请重新显示错误,以便外部错误处理程序可以处理它。始终记录错误,除非预期会发生错误
然后您将得到更精确的错误消息。但您选择忽略实际错误e
真正阅读Java书籍或教程,特别是关于正确异常处理的部分。你放弃了你一直做的错误,这让你的生活变得困难
例外情况几乎永远都不应该被忽略。你被要求处理它们是有原因的!事实上,也有未检查的异常,您不需要这样做。更明显的是,在这里,你需要正确处理它们
您的错误很可能是一个BoundsException数组,您不应该捕捉到它
double[][] x = new double[180][1];
double[][] y = new double[180][0];
这个太小了。你可能需要
double[][] x = new double[180][2];
double[][] y = new double[180][1];
双精度[]y=新双精度[180][0]
那可能不是你想要的。第二维度是零,所以你不能在数组中放入任何东西。第二个维度必须至少为1 double[]y=新的double[180][0]
那可能不是你想要的。第二维度是零,所以你不能在数组中放入任何东西。第二个维度必须至少为1 如果它正在抛出异常,那么异常是什么?为什么y的维度为零?请粘贴StackTrace例外情况是无法读取目标文件。因为我要把y变换成矩阵Jamalib@RakeshKR什么是StackTrace?@user3065339检查:-如果它正在引发异常,那么异常是什么?为什么y的维度为零?请粘贴StackTrace例外情况是无法读取目标文件。因为我要把y变换成矩阵Jamalib@RakeshKR什么是StackTrace?@user3065339检查:-你的意思是在项目文件夹内??但是,它仍然无法读取。As@Roger罗兰指出,为什么你们的y列的大小是0?您是否正在获取ArrayIndexOutOfBoundsException?因为我认为数组的第一个索引是0。好的,正如@Anony Mouse所建议的,请仔细阅读一本好的java教程。java中会有很多错误处理,所以您自己编写代码时不应该犯任何错误。对不起。我是Java新手,我还在学习。我不知道这样的事情。你是说在项目文件夹里??但是,它仍然无法读取。As@Roger罗兰指出,为什么你们的y列的大小是0?你有没有从边界感觉中获得ArrayIndex?因为我认为
数组的dex是0。好的,正如@anonymousse所建议的,请仔细阅读一篇好的java教程。java中会有很多错误处理,所以您自己编写代码时不应该犯任何错误。对不起。我是Java新手,我还在学习。我不知道那样的事。