“线程中的异常”;螺纹-***”;java.lang.NullPointerException
我有一个类来读取文本文件并将所有内容放入数组中。以下是我编写的代码,它运行良好:“线程中的异常”;螺纹-***”;java.lang.NullPointerException,java,multithreading,nullpointerexception,Java,Multithreading,Nullpointerexception,我有一个类来读取文本文件并将所有内容放入数组中。以下是我编写的代码,它运行良好: import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; public class PSResidualReduction { public PSResidualReduction() throws FileNotFound
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class PSResidualReduction {
public PSResidualReduction() throws FileNotFoundException, IOException {
BufferedReader match_dataset1 = new BufferedReader(new FileReader("/home/mt.txt"));
String[] temp;
String delims = ",";
double[][] mt;
mt = new double[10][5];
for (int k1 = 0; k1 < 10; k1++) {
String line1 = match_dataset1.readLine();
temp = line1.split(delims);
for (int k2 = 0; k2 < 5; k2++) {
mt[k1][k2] = Double.parseDouble(temp[k2]);
}
}
match_dataset1.close();
}
}
在一些迭代中。错误来自这一行
temp = line1.split(delims);
我确信所有的输入文本文件都具有相同的格式和相同的列数和行数。
另外,我正在使用netbeans。
阅读BufferedReader.readLine的文档:“如果到达流的结尾,则返回null”。您应该检查变量
temp
,如果该变量为null,则不要尝试对其调用split
。读取BufferedReader.readLine的文档:“如果到达流的结尾,则返回null”。您应该检查变量temp
,如果该变量为null,则不要尝试对其调用split
。读取BufferedReader.readLine的文档:“如果到达流的结尾,则返回null”。您应该检查变量temp
,如果该变量为null,则不要尝试对其调用split
。读取BufferedReader.readLine的文档:“如果到达流的结尾,则返回null”。您应该检查变量temp
,如果该变量为空,则不要尝试对其调用split
String line1 = match_dataset1.readLine();
此处的line1
为null
。BufferedReader.readLine()
方法返回null
,前提是已到达流的末尾。这意味着您的流将是空的,或者您已经到达了终点。尝试将for循环
更改为,同时
循环:
String line1 = "";
while((line1 = match_dataset1.readLine())!=null)
{
// other code
}
此处的line1
为null
。BufferedReader.readLine()
方法返回null
,前提是已到达流的末尾。这意味着您的流将是空的,或者您已经到达了终点。尝试将for循环
更改为,同时
循环:
String line1 = "";
while((line1 = match_dataset1.readLine())!=null)
{
// other code
}
此处的line1
为null
。BufferedReader.readLine()
方法返回null
,前提是已到达流的末尾。这意味着您的流将是空的,或者您已经到达了终点。尝试将for循环
更改为,同时
循环:
String line1 = "";
while((line1 = match_dataset1.readLine())!=null)
{
// other code
}
此处的line1
为null
。BufferedReader.readLine()
方法返回null
,前提是已到达流的末尾。这意味着您的流将是空的,或者您已经到达了终点。尝试将for循环
更改为,同时
循环:
String line1 = "";
while((line1 = match_dataset1.readLine())!=null)
{
// other code
}
BufferedReader#readLine()
在没有更多行时返回null
。是的,您是对的。谢谢<当没有更多行时,code>BufferedReader#readLine()返回null
。是的,您是对的。谢谢<当没有更多行时,code>BufferedReader#readLine()返回null
。是的,您是对的。谢谢<当没有更多行时,code>BufferedReader#readLine()返回null
。是的,您是对的。谢谢