gpt4 book ai didi

java - 为什么 File.exists 返回误报

转载 作者:行者123 更新时间:2023-12-01 06:28:52 25 4
gpt4 key购买 nike

我的 android File.exists 功能有一个奇怪的问题。下面是我的代码

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
super.onCreateView(inflater, container, savedInstanceState);
View view = inflater.inflate(R.layout.fragment_file_browser, container);

DataBaseHelper tmpHelper = new DataBaseHelper(getActivity());
ButtonInfoContainer infoContainer = tmpHelper.getVideoWithId(videoId);



//Tmp way to use this. When UX is finished will create a better way.
File f = new File(Environment.getExternalStorageDirectory() + "/aslkfj");
Log.i(StaticValues.TAG, Environment.getExternalStorageDirectory() + "/aslkfj");

LinearLayout tmpView2 = (LinearLayout) view.findViewById(R.id.custom_recordings);
if(f.exists());
{
Log.i(StaticValues.TAG, "f exists");

String[] tmp = f.list();
View tmpView = null;

if(tmp != null)
{
for(int i = 0; i < tmp.length; i ++)
{
tmpView = inflater.inflate(R.layout.list_item, null);
TextView tmpText = (TextView) tmpView.findViewById(R.id.product_name);
tmpText.setText(tmp[i]);
tmpView2.addView(tmpView);
}
}
}
return view;
}

一切都很酷,但奇怪的是 File.exists 为我返回了误报。它总是说该文件存在(尽管仅在这个应用程序中)。上面给出的路径/aslkfj 不存在,但是当我运行此代码时,我的 logcat 输出 f 存在。为什么会发生这样的事情。

最佳答案

您的 if 条件末尾有一个分号:-

if(f.exists());  <-- Semi-colon here is causing problem

因此,下面的 block 只是一个本地 block ,无论您的 if 条件评估结果如何,都会执行该 block 。

关于java - 为什么 File.exists 返回误报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14163652/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com