如何在两个java程序中读取同一文件时解决java.lang.NullPointerException?

时间:2016-11-29 09:50:53

标签: java nullpointerexception bufferedreader filereader

我正在尝试从另一个Java程序运行。一个制作文件的副本,另一个读取复制的文件。但在这样做时,我得到了java.lang.NullPointerException。有人可以解释原因吗?我该如何解决这个问题?

以下是我的代码:

FirstProgram.java

 package test;

 import java.io.BufferedReader;
 import java.io.BufferedWriter;
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.FileReader;
 import java.io.FileWriter;
 import java.io.IOException;

 import secondprogram3.SecondProgram;

 public class FirstProgram {

  public static void main(String[] args) throws IOException, FileNotFoundException, InterruptedException {

    BufferedReader input = null;
    BufferedWriter output = null;

    try {
        String filePath = "1.txt";
        input = new BufferedReader(new FileReader(filePath));
        output = new BufferedWriter(new FileWriter("input.txt"));
        String line="";
        while ((line = input.readLine()) != null) {
            output.write(line);
            output.newLine();
        }


    } finally {
        output.close();
        input.close();
    }


    String args[] = {"Hello"};
    SecondProgram.main(args);
  }  
}

SecondProgram.java

package secondprogram3;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;


public class SecondProgram {

    public static void main(String[] args) throws IOException, FileNotFoundException, InterruptedException {

        BufferedReader input = null;

        try {              
          input = new BufferedReader(new FileReader("input.txt")); // I get java.lang.NullPointerException here

          String line="";
          while ((line = input.readLine()) != null) {
             System.out.println(line);
          }
        }  finally {
          input.close();
        }
    }
}

0 个答案:

没有答案