不久前,我使用crontab -e. 我的 crontab 包括以下行:
* * * * * /usr/bin/touch /home/blah/MADEBYCRON
Run Code Online (Sandbox Code Playgroud)
我做这件事已经有几个星期了。我从来没有见过/home/blah/MADEBYCRON。我在我的主目录上设置了权限,所以它应该能够在这个目录中创建文件,那么为什么这个文件永远不存在?
/var/log/syslog 不存在。
现在,我正在为自己创建一个应用程序,它将数据附加到几个文件中。但是,当我尝试创建文件(或者实际上打开它们)时,程序会抛出java.io.IOException: Operation not permitted.
如您所见,已授予存储权限。(这个应用程序是专门为我自己设计的,所以我不太担心其他用户会是什么样子。)
直接通过手机本身或通过我的计算机检查文件系统不会显示这些文件。
注意:创建目录(即dir.mkdirs();)不会引发错误,即使我事先删除了目录。然而,处理这些文件确实会引发错误。
我运行的是 Android 11,并且我的 Android Studio 设置为在 Lollipop 中工作。
MainActivity.java:
public class MainActivity extends AppCompatActivity {
public static File dir = new File(new File(Environment.getExternalStorageDirectory(), "bleh"), "bleh");
@Override protected void onCreate(Bundle savedInstanceState) {
//bleh
dir.mkdirs();
dir.setWritable(true)
addButtons();
}
public void addButtons() throws IOException {
Option.A.init(R.id.A);
Option.B.init(R.id.B);
Option.C.init(R.id.C);
Option.D.init(R.id.D);
Option.E.init(R.id.E);
Option.F.init(R.id.F);
// This is beyond the scope of my
// question, but if you could also
// show me …Run Code Online (Sandbox Code Playgroud)