首页 > 编程知识 正文

excel无法保存检测错误,表格保存错了能还原吗

时间:2023-05-05 21:01:16 阅读:271320 作者:2173

发生的错误:
存储字符串到本地文件失败,本地文件能成功创建,但是打开之后文件是空的。

错误代码如下:

public class MainActivity extends AppCompatActivity { private EditText edtTitle; private Button btnSave; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //lock screen(ben lai shizai shangyiju shangmian) setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED); edtTitle = (EditText)findViewById(R.id.edtTitle); btnSave = (Button)findViewById(R.id.btnSave); /* 获取输入内容,并存储到本地 * 默认文件夹是data/data/com.example.notebook/files * */ btnSD Save = new btnSD(); btnSave.setOnClickListener(Save); } class btnSD implements View.OnClickListener { String title = edtTitle.getText().toString(); String date = edtDate.getText().toString(); String note = edtMain.getText().toString(); String allnote = title+'n'+date+'n'+note; @Override public void onClick(View view) { switch(view.getId()){ case R.id.btnSave: Savetoyournote(allnote); break; } } public void Savetoyournote(String data) { FileOutputStream out = null; try { title = edtTitle.getText().toString(); out = openFileOutput(title, MODE_PRIVATE); out.write(data.getBytes()); out.flush();// 清理缓冲区的数据流 out.close();// 关闭输出流 texSubmit.setText(allnote); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }}

更正:

class btnSD implements View.OnClickListener { @Override public void onClick(View view) { switch(view.getId()){ case R.id.btnSave: Savetoyournote(); break; } } public void Savetoyournote() { FileOutputStream out = null; try { String title = edtTitle.getText().toString(); String date = edtDate.getText().toString(); String note = edtMain.getText().toString(); String data = title+'n'+date+'n'+note; out = openFileOutput(title, MODE_PRIVATE); out.write(data.getBytes()); out.flush();// 清理缓冲区的数据流 out.close();// 关闭输出流 } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }

问题应该出在字符串的读取与传递,
OnClick那个函数里不知道为什么读取不了title的text值,读出来就是空的。
改到Savetoyournote()函数里就行了。

改正过程主要就是以下代码位置的改变

String title = edtTitle.getText().toString();String date = edtDate.getText().toString();String note = edtMain.getText().toString();String data = title+'n'+date+'n'+note;

【ps.这本来是个记事本app,为了方便看这个问题,我删除了部分代码。
记事本全部代码可见我上传的资源。
主要实现功能如下:使用EditText输入标题,内容,选择日期,并建立本地数据可进行保存,并显示在当前页面。】

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。