如何使用Java从目录中删除文件?

1 java file

谁能告诉我如何在打开并加载到数据库后删除目录中的文件?

这是我的代码:

public static void main(String[] args) throws SQLException{

        int Count= 0;

        File directory = new File("C://Documents and Settings//welcome//My Documents//Bluetooth Exchange Folder");
        directory.deleteOnExit();
        File files[] = directory.listFiles();

        for(int index = 0; index < files.length; index++){

            try {

                FileReader inp = new FileReader (files[index]);
                BufferedReader buf = new BufferedReader(inp);
                String strLine;

                try {
                    while ((strLine = buf.readLine()) != null)
                    {
                        System.out.println(strLine);

                        String[] dbColumnValues = strLine.split("%");

                        Connect.DoInsertIntoDB(Long.parseLong(dbColumnValues[0]),dbColumnValues[1],dbColumnValues[2], dbColumnValues[3]);
                        Count++;
                        System.out.println(Count + " Row(s) are inserted into the Database");
                        GenHTML.gen();

                    }

                } 
Run Code Online (Sandbox Code Playgroud)

但是目录中的文件并没有被删除。请问谁能更正我代码中的错误?

[目前,我正在使用目录中的 3 个文件进行测试。在每个文件加载到数据库后,我希望从目录中删除每个文件。]

提前致谢!

Jon*_*und 5

最好在代码中明确说明。

File files[] = directory.listFiles();
for(int index = 0; index < files.length; index++){
{
   // Process files[index]
   // ...
   boolean wasDeleted = files[index].delete();
   if (!wasDeleted)
   {
     // Deal with error
   }
}
Run Code Online (Sandbox Code Playgroud)

此外,您需要在完成文件句柄后关闭它们

FileReader inp = new FileReader (files[index]);
try
{
  // ...
}
finally
{
  inp.close();
}
Run Code Online (Sandbox Code Playgroud)