Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.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
MainActivity中带有saveText的Android Java NullPointerException_Java_Android_Nullpointerexception - Fatal编程技术网

MainActivity中带有saveText的Android Java NullPointerException

MainActivity中带有saveText的Android Java NullPointerException,java,android,nullpointerexception,Java,Android,Nullpointerexception,在MainActivity 我是OOP和Java的noob,我不明白我做错了什么。 谢谢你的帮助 public class FileIO extends Activity{ FileInputStream fin; FileOutputStream fos; public void SaveFile(String FileName, String FileData) { try { fos = openFileOutput(Fi

MainActivity
我是OOP和Java的noob,我不明白我做错了什么。 谢谢你的帮助

public class FileIO extends Activity{

    FileInputStream fin;
    FileOutputStream fos;

    public void SaveFile(String FileName, String FileData) {
        try {
            fos = openFileOutput(FileName, MODE_PRIVATE);
            fos.write(FileData.getBytes());
            Toast.makeText(this, "Файл "+FileName+" сохранен", Toast.LENGTH_SHORT).show();
        }
        catch(IOException ex) {
            Toast.makeText(this, ex.getMessage(), Toast.LENGTH_SHORT).show();
        }
        finally{
            try{
                if(fos!=null) {
                    fos.close();
                }
            }
            catch(IOException ex){
                Toast.makeText(this, ex.getMessage(), Toast.LENGTH_SHORT).show();
            }
        }
    }

    public String ReadFile(String FileName) {
        String text = "";

        try {
            fin = openFileInput(FileName);
            byte[] bytes = new byte[fin.available()];
            fin.read(bytes);
            text = new String (bytes);
        }
        catch(IOException ex) {
            Toast.makeText(this, ex.getMessage(), Toast.LENGTH_SHORT).show();
        }
        finally {
            try {
                if (fin != null) {
                    fin.close();
                }
            } catch (IOException ex) {
                Toast.makeText(this, ex.getMessage(), Toast.LENGTH_SHORT).show();
            }
        }

        return text;
    }
}


public class MainActivity extends ActionBarActivity {

    FileInputStream fin;
    FileOutputStream fos;

    FileIO FL = new FileIO();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    // сохранение файла
    public void saveText(View view){
        try {
            EditText textBox = (EditText) findViewById(R.id.save_text);
            String text = textBox.getText().toString();

            FL.SaveFile("content.txt", text);
        }
        catch(Exception ex) {
            Toast.makeText(this, "Ошибка записи файла", Toast.LENGTH_SHORT).show();
            Log.d("MyLog", ex.toString() + "\n" + ex.getMessage() + "\n" + ex.getCause());
        }
    }
    // открытие файла
    public void openText(View view){

        TextView textView = (TextView) findViewById(R.id.open_text);
        try {
            fin = openFileInput("content.txt");
            byte[] bytes = new byte[fin.available()];
            fin.read(bytes);
            String text = new String (bytes);
            textView.setText(text);
        }
        catch(IOException ex) {

            Toast.makeText(this, ex.getMessage(), Toast.LENGTH_SHORT).show();
        }
        finally{

            try{
                if(fin!=null)
                    fin.close();
            }
            catch(IOException ex){

                Toast.makeText(this, ex.getMessage(), Toast.LENGTH_SHORT).show();
            }
        }
    }
}

不要从活动扩展类文件IO

从更改代码

public class FileIO extends Activity{

创建对象时,将“MainActivity”上下文传递给构造函数中的FileIO类,并使用它显示Toast消息

 FileIO fileIo= new FileIO(MainActivity.this);

希望这对您的

无stacktrace,无帮助。^或给我们日志…nullpointerexception表示您在xml中做了错误的事情。对saveText和openText方法的调用在哪里?为什么FileIO扩展活动?这很有帮助。非常感谢。我真的忘了上下文!
 FileIO fileIo= new FileIO(MainActivity.this);