Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 空指针错误:Can';找不到原因_Java - Fatal编程技术网

Java 空指针错误:Can';找不到原因

Java 空指针错误:Can';找不到原因,java,Java,在控制台中: 线程“main”java.lang.NullPointerException中出现异常 位于SimulatedReality.main(SimulatedReality.java:25) 第25行是“BecomesArray=ReadsLine.toCharArray();” 在我的代码中,我试图读取一个文件并检查其所有字符(或至少前十个字符),以查看是否有值为1的字符。我试图这样做是为了在使用一次文档后重置文档的文本。代码的问题是有一个空指针错误,这是由声明问题引起的(或者,至少

在控制台中:

线程“main”java.lang.NullPointerException中出现异常 位于SimulatedReality.main(SimulatedReality.java:25)

第25行是“BecomesArray=ReadsLine.toCharArray();”

在我的代码中,我试图读取一个文件并检查其所有字符(或至少前十个字符),以查看是否有值为1的字符。我试图这样做是为了在使用一次文档后重置文档的文本。代码的问题是有一个空指针错误,这是由声明问题引起的(或者,至少,我听说是这样)。我找不到这个错误在哪里。无论谁帮助我,请谢谢你。我是一个初学者,所以如果过于简化,说明将是最好的

文件SRFile=新文件(“C:/Users/ThinkingBeing/Documents/SRFile.txt”)

SRFileWriter=new
FileWriter(“C:/Users/ThinkingBeing/Documents/SRFile.txt”);
如果(!SRFile.exists()){
SRFile.createNewFile();
SRFileWriter.write(“000000”);
System.out.println(“文件现在存在”);
}否则{

对于(inti=0;i几个可能的问题

您的文件可能少于10行

然后readLine将返回null,下一行将失败

此外,在开始读取文件之前,可能还应该确保文件存在

if(!SRFile.exists()||BasicChar=='1'){

最后,我不能完全理解您仅仅通过阅读代码来实现的目标。但是逻辑上肯定有问题。我觉得奇怪的是,
BasicChar
是每行第I行的第I个字符。

我想我发现了您的问题(请遵循Java命名约定)


SRFileReader=new BufferedReader(new FileReader(SRFile));/…而您的异常发生在…?请发布异常的前三行或四行。此外,它是一个单独的“/”作为路径分隔符。因此,“C:/Users/ThinkingBeing/Documents/SRFile.txt”注意:这可能不是您的错误。另外
SRFileReader=new BufferedReader(new FileReader(SRFile));
将读取第一行10次。您的代码段长度不足25行,请指出哪一行是第25btw行:main不擅长抛出!它已更新;答案在那里。它如何转到下一行?我只是试图让它读取继续的字符。我刚刚更新了代码,但问题仍然存在。我我已经写在上面了。
ReadsLine = SRFileReader.readLine();
BecomesArray = ReadsLine.toCharArray(); 
if(!SRFile.exists()||BasicChar=='1'){
SRFileReader = new BufferedReader(new FileReader(SRFile)); // <-- file reader once
ReadsLine = SRFileReader.readLine();
BecomesArray = ReadsLine.toCharArray(); 
FileWriter SRFileWriter = new FileWriter
    ("C:/Users/ThinkingBeing/Documents/SRFile.OUT.txt"); // <-- Don't write to 
                                       // your input file while you're reading it.

for(int i=0;i<(BecomesArray != null) ? BecomesArray.length : 0;i++){
  // SRFileReader = new BufferedReader(new FileReader(SRFile));      
  BasicChar = BecomesArray[i];
  if(!SRFile.exists()||BasicChar=='1'){
    // SRFile.createNewFile(); // <-- Would clear your input file.
    SRFileWriter.write("00BOOYTA"); // <-- which was also your output file.
  }
}
SRFileWriter.close();
SRFileReader.close();