Я не понимаю, почему 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-функция,