gpt4 book ai didi

java - 为什么我无法删除该文件?

转载 作者:行者123 更新时间:2023-11-30 03:47:38 26 4
gpt4 key购买 nike

我不明白为什么Java不想删除该文件!我基本上想锁定一个文件,以避免我的 jar 文件可以启动多次。然后在操作之后我想删除锁定文件,但由于某种原因这似乎是不可能的。

这是代码:

package footballQuestioner;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridBagLayout;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.RandomAccessFile;
import java.nio.channels.FileLock;
import java.nio.file.Files;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import javax.imageio.ImageIO;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class attempter
{
public static void main(String[] args) throws FileNotFoundException, IOException
{
Ausgabe ausGabe=new Ausgabe();
}

class Ausgabe
{
public Ausgabe()
{
tryToStart();
}

public boolean tryToStart(){

File file1=new File("C:\\Users\\laudatio\\Downloads\\erzFeind.txt");
RandomAccessFile in=null;
FileLock fileLock=null;
file1.setWritable(true);

try
{
file1.createNewFile();
in = new RandomAccessFile(file1, "rw");
fileLock = in.getChannel().tryLock();

if(fileLock == null)
return false;


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

file1.delete();

return true;
}

}

最佳答案

您无法删除已打开的文件。这是 Windows 的限制。您必须先将其关闭。尝试一下

file1.close();
file1.delete();

注意:Unix 不这样做,它不是 Java“功能”

关于java - 为什么我无法删除该文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25224172/

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