【发布时间】:2017-01-15 06:36:23
【问题描述】:
我想将我的 IO 类从 Eclipse 上的 java 转换为 Android API。出于某种原因,它在 android 上不起作用!它在我的 Println 方法上给了我一个 NullPointerException。此类用于创建、写入、读取和打开文本文件。我的目标是让所有这些方法在 android 上可读。
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintStream;
import java.io.PrintWriter;
public class IO {
private static PrintWriter fileOut;
private static BufferedReader fileIn;
public static void createOutputFile(String fileName) {
try {
fileOut = new PrintWriter(new BufferedWriter(new FileWriter(fileName)));
} catch (IOException e) {
System.out.println("*** Cannot create file: " + fileName + " ***");
}
}
public static void openOutputFile(String fileName) {
try {
fileOut = new PrintWriter(new BufferedWriter(new FileWriter(fileName, true)));
} catch (IOException e) {
System.out.println("*** Cannot open file: " + fileName + " ***");
}
}
public static void openOutputFile2(String fileName) {
try {
fileOut = new PrintWriter(new BufferedWriter(new FileWriter(fileName, false)));
} catch (IOException e) {
System.out.println("*** Cannot open file: " + fileName + " ***");
}
}
public static void print(String text) {
fileOut.print(text);
}
public static void println(String text) {
fileOut.println(text);
//System.out.println(text);
}
public static void closeOutputFile() {
fileOut.close();
}
public static void openInputFile(String fileName) {
try {
fileIn = new BufferedReader(new FileReader(fileName));
//System.out.println("opening " + fileName);
} catch (FileNotFoundException e) {
System.out.println("***Cannot open " + fileName + "***");
}
}
public static String readLine()
// throws IOException
// Note: if there's an error in this method it will return IOException
{
try {
return fileIn.readLine();
} catch (IOException e) {
e.printStackTrace();
return "errors";
}
}
public static void closeInputFile() {// throws IOException
// Note: if there's an error in this method it will return IOException
try {
fileIn.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
【问题讨论】:
-
解释你所说的“不工作”是什么意思。包括错误消息。如果您忽略框架返回的错误,请停止这样做,以便提供相关信息。请参阅How to Ask 了解更多信息。
-
运行代码时出现空指针异常
-
请edit将该信息添加到您的问题中,并在发生错误的调用堆栈中包含 where。
-
当我在文本文件中创建或存储数据时使用这个类。这个类在 Java Eclipse 中非常适合我,但是它在 android 上给了我这个例外。我希望有人能理解为什么。我的方法是不言自明的,我希望有人能指导我了解它的语法是什么,以便它在 android api 的眼中是可读的。