java增删文件

有人之前说要贴代码,我现在修改过了放上来。
然后我有按照评论提供的思路修改了代码,嗯,确实给了我错误原因,也搜索过,发现搜索到的大多数答案是主要指路径错误的。
请输入图片描述
另外猜测主要原因是没有权限在C盘增加文件,但查询过java.policy,权限又都是火力全开的(嗷!我不会修改C盘的安全权限,不好意思丢人了……),所以顺带也贴图上来了。
请输入图片描述

package TestDemos;

import java.io.File;

public class TestFile {
    public static void main(String [] args)
    {
        File f=new File("c:\\1.txt");
        if(f.exists())
            f.delete();
        else
        try
        {
                f.createNewFile();
        }
        catch(Exception e)
        {
            e.printStackTrace();
            //System.out.println(e.getMessage());
        }
        System.out.println("File name:"+f.getName());
        System.out.println("File path:"+f.getPath());
        System.out.println("Abs path:"+f.getAbsolutePath());
        System.out.println("Parent:"+f.getParent());
        System.out.println(f.exists()?"exists":"does not exist");
        System.out.println(f.canWrite()?"is writeable":"is not writeable");
        System.out.println(f.canRead()?"is readable":"is not readable");
        System.out.println(f.isDirectory()?"is a directory":"is not a directory");
        System.out.println(f.isFile()?"is normal file":"might be a named pipe");
        System.out.println(f.isAbsolute()?"is absolute":"is not absolute");
        System.out.println("File last modified:"+f.lastModified());
        System.out.println("File size:"+f.length()+" Bytes");
        }
}
阅读 2.8k
3 个回答

得到理由了,是在C盘下没有权限创建文件夹,不好意思,放在其他盘就正正常常。
但是同样也没有方法去修改权限。这大概就涉及到另外一方面了。

将楼主代码复制运行之后成功在C盘创建1.txt。

为啥我的报错和你的不一样=_=
请输入图片描述

好像C盘下面只能创建文件夹,不能创建其他的东西,你换个磁盘再试试,
....我知道为啥了,楼主, 你的File f = new File("C:\1.txt");是错的,\1是一个转义字符,是一个表情啊,得改成File f = new File("E:\\1.txt");, 这回就是对的

推荐问题
logo
101 新手上路
子站问答
访问
宣传栏