I'm trying to create a return object that contains a BufferReader and a BufferWriter. Here are my two classes:
test.java
package FileIO;
import java.io.*;
public class Test{
static String line = null;
public static void Main() {
String fileName = Input.getInput();
Object[] ioObject = new Object[2];
ioObject = OpenFile.openFileName(fileName,"READ");
BufferedReader bufferedReader = ioObject[0];
do{
//line = null;
line = ReadLine.getLine(bufferedReader);
System.out.println(line);
} while (line != null);
}
}
OpenFile.java
package FileIO;
import java.io.*;
public class OpenFile {
static Object[] ioObject = new Object[2];
static BufferedReader bufferedReader = null;
static BufferedWriter bufferedWriter = null;
public static Object[] openFileName(String fileName, String type){
if(type == "READ"){
try{
// FileReader reads text files
FileReader fileReader = new FileReader(fileName);
// Always wrap FileReader in BufferedReader.
bufferedReader = new BufferedReader(fileReader);
ioObject[0] = bufferedReader;
System.out.println("you lucky dog, file " + fileName + " was found");
}catch(FileNotFoundException ex) {
System.out.println("FATAL ERROR: File " + fileName + " not found");
System.out.println(ex);
}
}else if(type == "WRITE"){
}else{
System.out.println("FATAL ERROR: type input can only be READ or WRITE");
System.exit(0);
}
return ioObject;
}
}
I'm getting an error on this line in test.java:
BufferedReader bufferedReader = ioObject[0];
incompatible types object can not be converted to BufferedReader. I'm confused as ioObject[0] is a BufferedReader.