如何在 java class 中制作 FileInputStream 和 FileOutputStream

How to make FileInputStream and FileOutputStream in a java class

我写了两种方法来从内部存储写入和读取数据,现在我想把它们放在非 activity class 中,我在 openFileOutputopenFileInput 表示方法 openFileInput/openFileOutput 未定义类型 IOstream(name of my class)

我不知道怎么解决。

public void write(String fileName, String content) throws IOException{
    FileOutputStream outStream = openFileOutput(fileName, Context.MODE_PRIVATE);
    outStream.write(content.getBytes());
    outStream.close();
}

public String read(String fileName) throws IOException{
    FileInputStream inStream = openFileInput(fileName);

    String content = null;
    byte[] readByte = new byte[inStream.available()];

    while(inStream.read(readByte) != -1){
        content = new String(readByte);
    }
    inStream.close();
    return content;
}

我正在寻找一种将这些方法放入它们自己的方法中的方法class

当你 post 提出问题并说 "I get errors" 时,实际上 post 说错误会在很大程度上向人们展示你的问题。

根据您的问题和代码进行猜测,您已将这些方法移动到不扩展 Context 的 class,这两个方法是在其中声明的,因此无法找到它们。

您需要引用上下文才能访问这些方法。

public void write(Context context, String fileName, String content) throws IOException{
    FileOutputStream outStream = context.openFileOutput(fileName, Context.MODE_PRIVATE);
    outStream.write(content.getBytes());
    outStream.close();
}

public String read(Context context, String fileName) throws IOException{
    FileInputStream inStream = context.openFileInput(fileName);

    String content = null;
    byte[] readByte = new byte[inStream.available()];

    while(inStream.read(readByte) != -1){
        content = new String(readByte);
    }
    inStream.close();
    return content;
}