gpt4 book ai didi

java - java.io.File.createNewFile() 中的 IOException;

转载 作者:行者123 更新时间:2023-11-30 06:26:08 24 4
gpt4 key购买 nike

我确实有一些序列化代码不起作用。我试图在 if 语句中插入 CanRead() 和 CanWrite(),这表明它们没有读写权限。我也尝试将 'java.io.File.setReadable' 和 'java.io.File.setWriteable 插入到 true 但它仍然会引发错误。

代码如下:

public static void save(Object obj, String filename) throws FileNotFoundException, IOException
{
File f = new File("c:/DatoChecker/" + filename);
File dir = new File("c:/DatoChecker");
if(!dir.exists())
dir.mkdirs();
f.setReadable(true);
f.setWritable(true);
if(!f.exists())
{
f.createNewFile();
}
FileOutputStream op = null;
ObjectOutputStream objectStream = null;
op = new FileOutputStream(f);
objectStream = new ObjectOutputStream(op);
objectStream.writeObject(obj);
objectStream.close();
}

public static Object fetch(String filename) throws FileNotFoundException, IOException, ClassNotFoundException
{
File f = new File("c:/DatoChecker" + filename);
File dir = new File("c:/DatoChecker");
if(!dir.exists())
dir.mkdirs();
f.setReadable(true);
f.setWritable(true);
if(!f.exists())
{
f.createNewFile();
}
FileInputStream ip = null;
ObjectInputStream objectStream = null;
Object obj = null;
ip = new FileInputStream(f);
objectStream = new ObjectInputStream(ip);
obj = objectStream.readObject();
ip.close();
objectStream.close();
return obj;
}

堆栈跟踪:

SEVERE: null
java.io.IOException: access denied
at java.io.WinNTFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(File.java:947)
at com.check.me.Serialization.fetch(Seralization.java:39)
at com.check.me.GoodsList.load(GoodsList.java:82)
at com.check.me.START.main(START.java:22)

用于保存的是来自 GoodsList(只是保存而不是加载)及以上的内容,但它在下面要长很多,所以我暂时将其省略。

预先感谢您的帮助
Highace2

最佳答案

您声明您没有读取或写入的权限。而且,确实,您会收到一条错误消息,告诉您您没有权限。您需要更改创建文件所在目录的 ACL,或选择其他目录。

关于java - java.io.File.createNewFile() 中的 IOException;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14798787/

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