跪求,openFileOutput()函数为什么不能调用

TerryWhite 2017-10-12 05:44:06
第一次发帖,50分都给了求大神看看,这个函数为什么不能调用,该申请的权限都申请了,改导入的应该也都导入了,为什么不能调用啊啊啊?!!?
	private void output(){

String content = TvTagUii.getText().toString();
FileOutputStream fos;

try {
fos = openFileOutput("data.txt", MODE_PRIVATE);
fos.write(content.getBytes());
fos.close();
/*PrintStream ps = new PrintStream(fos);
ps.println(content);
ps.close();
fos.close();*/

} catch (Exception e) {
e.printStackTrace();
}


}
...全文
850 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
REAL Mr.Strange 2021-04-07
  • 打赏
  • 举报
回复
把private void output(){}写到class MainActivity : AppCompatActivity() {}里面就没问题了
TerryWhite 2017-10-13
  • 打赏
  • 举报
回复
引用 3 楼 xj396282771 的回复:
你把这个方法所在的class类贴出来我看下,还有就是标明你实例化报错的地方

这个output()由一个按钮监听器调用,
public class BtClearClickListener implements OnClickListener {
@Override
public void onClick(View v) { output();}}

然后调用的那个按钮定义在这里
@override
public void onActivityCreated(Bundle savedInstanceState) {
BtClear.setOnClickListener(new BtClearClickListener());}

然后按钮和text view定义在这个继承类里
public class UHFReadTagFragment extends KeyDwonFragment

KeydownFragment继承了Fragment
这个是运行时崩溃错误显示在output()那里
Jing丶無雙 2017-10-13
  • 打赏
  • 举报
回复
你把这个方法所在的class类贴出来我看下,还有就是标明你实例化报错的地方
TerryWhite 2017-10-13
  • 打赏
  • 举报
回复
引用 1 楼 xj396282771 的回复:
this.openFileOutput("data.txt", MODE_PRIVATE);
这里的this需要一个Context 实例比如Activity,你这个output()的方法是写在某个Activity里面么?如果不是,那么你需要一个Context 实例然后点出这个openFileOutput方法
但是我实例化了以后,会导致程序运行崩溃,大神知道什么原因么?
Jing丶無雙 2017-10-13
  • 打赏
  • 举报
回复
this.openFileOutput("data.txt", MODE_PRIVATE);
这里的this需要一个Context 实例比如Activity,你这个output()的方法是写在某个Activity里面么?如果不是,那么你需要一个Context 实例然后点出这个openFileOutput方法
csdn_2013 2017-10-13
  • 打赏
  • 举报
回复
1、看报null指针异常的地方是370行,370根据你贴出来的代码 不是这句吗? String content = TvTagUii.getText().toString(); --->请确认对象是否为null 或者 对象的getText是否为null.

2、你的 fos = openFileOutput("data.txt", MODE_PRIVATE);建议如下写
private static final String sTempCropFilename = "crop-temp";

File path = mActivity.getFileStreamPath(sTempCropFilename);
path.delete();
tempStream = mActivity.openFileOutput(sTempCropFilename, MODE_PRIVATE);
Jing丶無雙 2017-10-13
  • 打赏
  • 举报
回复
也就是说,你的output()方法写在你的UHFReadTagFragment类里面。 那么你应该这样调用getActivity().openFileOutput("data.txt", MODE_PRIVATE); 此外我看到你这里提示的空指针异常,那么还有一种可能就是"data.txt"这里的路径文件不存在,你需要检测你的文件是否存在,或者说这个路径是否正确

80,475

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧