當前位置:首頁 » 文件管理 » java刪除上傳的文件

java刪除上傳的文件

發布時間: 2022-11-26 20:50:02

java刪除項目中的文件代碼

FIle file = new File("/image/123.jpg");
if (file.exists()){
file.delete();
}

使用File對象操作刪除,會判斷是否存在,如存在就刪了。

如果想找路徑,使用File類的getAbsolutePath()方/法就能得到/絕/對/路/徑/的字元串表示。
例如上面的對、象file,使用
String str = file.getAbsolutePath();
System.out.println(str);
你在/控/制/台co/ns/ole/窗口就能看到了。

㈡ Java判斷伺服器的文件是否存在如果存在,在上傳的時候刪除文件並完成文件上傳

File file= new File("路徑+文件名稱");
if(file.exists()){
file.delete();
}
fi file.createNewFile();

㈢ JAVA 怎麼刪除上傳到硬碟的附件

import java.io.File;

/**
*
* 2007-11-27
* 刪除文件或目錄
* @author 計春旭 E-mail: [email protected]
* @version 創建時間:Jun 16, 2009 9:50:44 AM
* @see java.lang.Class
* @since JDK1.5
*/

public class DeleteFileUtil {
/**
* 刪除文件,可以是單個文件或文件夾
* @param fileName 待刪除的文件名
* @return 文件刪除成功返回true,否則返回false
*/
public static boolean delete(String fileName){
File file = new File(fileName);
if(!file.exists()){
System.out.println("刪除文件失敗:"+fileName+"文件不存在");
return false;
}else{
if(file.isFile()){

return deleteFile(fileName);
}else{
return deleteDirectory(fileName);
}
}
}

/**
* 刪除單個文件
* @param fileName 被刪除文件的文件名
* @return 單個文件刪除成功返回true,否則返回false
*/
public static boolean deleteFile(String fileName){
File file = new File(fileName);
if(file.isFile() && file.exists()){
file.delete();
System.out.println("刪除單個文件"+fileName+"成功!");
return true;
}else{
System.out.println("刪除單個文件"+fileName+"失敗!");
return false;
}
}

/**
* 刪除目錄(文件夾)以及目錄下的文件
* @param dir 被刪除目錄的文件路徑
* @return 目錄刪除成功返回true,否則返回false
*/
public static boolean deleteDirectory(String dir){
//如果dir不以文件分隔符結尾,自動添加文件分隔符
if(!dir.endsWith(File.separator)){
dir = dir+File.separator;
}
File dirFile = new File(dir);
//如果dir對應的文件不存在,或者不是一個目錄,則退出
if(!dirFile.exists() || !dirFile.isDirectory()){
System.out.println("刪除目錄失敗"+dir+"目錄不存在!");
return false;
}
boolean flag = true;
//刪除文件夾下的所有文件(包括子目錄)
File[] files = dirFile.listFiles();
for(int i=0;i<files.length;i++){
//刪除子文件
if(files[i].isFile()){
flag = deleteFile(files[i].getAbsolutePath());
if(!flag){
break;
}
}
//刪除子目錄
else{
flag = deleteDirectory(files[i].getAbsolutePath());
if(!flag){
break;
}
}
}

if(!flag){
System.out.println("刪除目錄失敗");
return false;
}

//刪除當前目錄
if(dirFile.delete()){
System.out.println("刪除目錄"+dir+"成功!");
return true;
}else{
System.out.println("刪除目錄"+dir+"失敗!");
return false;
}
}
//刪除文件夾
//param folderPath 文件夾完整絕對路徑

public static void delFolder(String folderPath) {
try {
delAllFile(folderPath); //刪除完裡面所有內容
String filePath = folderPath;
filePath = filePath.toString();
java.io.File myFilePath = new java.io.File(filePath);
myFilePath.delete(); //刪除空文件夾
} catch (Exception e) {
e.printStackTrace();
}
}

//刪除指定文件夾下所有文件
//param path 文件夾完整絕對路徑
public static boolean delAllFile(String path) {
boolean flag = false;
File file = new File(path);
if (!file.exists()) {
return flag;
}
if (!file.isDirectory()) {
return flag;
}
String[] tempList = file.list();
File temp = null;
for (int i = 0; i < tempList.length; i++) {
if (path.endsWith(File.separator)) {
temp = new File(path + tempList[i]);
} else {
temp = new File(path + File.separator + tempList[i]);
}
if (temp.isFile()) {
temp.delete();
}
if (temp.isDirectory()) {
delAllFile(path + "/" + tempList[i]);//先刪除文件夾裡面的文件
delFolder(path + "/" + tempList[i]);//再刪除空文件夾
flag = true;
}
}
return flag;
}

public static void main(String[] args) {
//String fileName = "g:/temp/xwz.txt";
//DeleteFileUtil.deleteFile(fileName);
String fileDir = "D:\\apache-tomcat-6.0.18\\webapps\\cyfy\\upload\\disk\\1245117448156\\JavaScript486.rar";
//DeleteFileUtil.deleteDirectory(fileDir);
DeleteFileUtil.delete(fileDir);
DeleteFileUtil t = new DeleteFileUtil();
delFolder("c:/bb");
System.out.println("deleted");

}
}

㈣ java刪除上傳到oracle資料庫的圖片,刪除記錄的同時刪除資料庫本地圖片,如何刪除記錄的同時定位到圖片

1、明白一些概覽:
1)上傳的圖片並沒有真正的存儲在oracle資料庫里,orcale資料庫里其實存儲的是圖片的路徑。
2)從瀏覽器上傳圖片到後端Action,action調用相應文件存儲邏輯(文件存儲系統)由文件存儲系統完成圖片的存儲,並返迴文件的路徑。最後將這個路徑保存到oracle資料庫(這個部分可以很簡單也可以很復雜視實際情況而定)。
2、相關刪除邏輯,通過資料庫里的文件路徑找到實際的存儲位置執行刪除。刪除成功後再刪除資料庫里相關記錄。

㈤ java上傳文件時用戶不提交表單,上傳的文件怎麼刪除

給個建議,臨時目錄的文件其實可以非同步刪除 ,

就是說不需要依賴用戶是否提交表單這個行為。

整個服務里需要有那麼一個線程或者進程管理這個目錄

這個線程需要有2塊功能

  1. 定時偵測目錄的文件數/目錄空間

  2. 給一個閥值,當目錄文件數、空間到怎樣的值 ,按文件的創建時間排序刪除最老的文檔,刪除數量可以給定一個百分比,當然你可以做一些過濾排除(比如創建時間到現在時間差少於半小時的不刪除)

㈥ java中上傳完文件刪除不了的問題

我不知道你上傳成功了為什麼還要刪除?
file類好像有個方法。delete();
這個應該是刪除某個文件的吧,

㈦ Java 程序做文件(excle,txt)上傳,然後在刪除的問題

我覺得一樓說的對,我剛才試了下,就是這個原因,你可以參看我寫的一個程序:

========================Code begin ==========================
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

/**
* @author limingatcn
* @time Jan 22, 2009 10:11:59 AM
* @version 1.0
*/
public class TestDelete {

public void readInfoFromFile() {
// 先聲明以備用
File file = new File("c:\\test.txt");
FileInputStream fis = null;
byte[] b = null;
int i = 0;

// 處理
try {
fis = new FileInputStream(file);
// byte數組不要越界
b = new byte[123456];
while (fis.available() > 0) {
i += fis.read(b);
}
String str = new String(b, 0, i);
System.out.println(str);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
// 執行刪除操作
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
file.delete();
System.out.println("The file was removed.");
}

}

/**
* @param args
*/
public static void main(String[] args) {
new TestDelete().readInfoFromFile();
}

}

========================Code end ============================

在finally中要執行 關閉你所打開讀流的對象 的操作,

在這個程序中如果沒有finally中的fis.close()
test.txt就出現你說的刪除不掉的情況
結合這個程序你再試試。

㈧ java 刪除文件內容

程序整體思路如下:
JAVA刪除文件內容,需要將文件內容讀出來,然後再寫回去,肯定需要用io處理。
任何程序的IO操作都逃不了Open與Close,如果打開了一個文件,進程將會鎖住這個文件,不讓其進程或者線程寫入他,一旦讀取完文件之後,需要Close掉他,這個是一套標准來著。
如果要實現這種功能,最好的方法是使用一個臨時的內存去保存讀取文件的數據,然後重新進行操作,覆蓋掉讀取的文件。

㈨ 如何刪除javaweb工程中的上傳文件

要看你刪除的是哪裡的,數據的,還是伺服器的?

㈩ JAVA怎麼實現刪除遠程ftp伺服器上的某一文件

一個JAVA 實現FTP功能的代碼,包括了伺服器的設置模塊,並包括有上傳文件至FTP的通用方法、下載文件的通用方法以及刪除文件、在ftp伺服器上傳文件夾、檢測文件夾是否存在等,裡面的有些代碼對編寫JAVA文件上傳或許有參考價值,

(1):Java FTP主文件代碼:

package ftpDemo;

import java.io.DataOutputStream;

import java.io.InputStream;

import java.io.OutputStream;

import sun.net.TelnetInputStream;

import sun.net.TelnetOutputStream;

import sun.net.ftp.FtpClient;

public class ftpUtil {

// 上傳文件至FTP通用方法

public static void upLoadFileFtp(KmConfig kmConfig,InputStream is, String fileName){

try {

String ftpHost = kmConfig.getFtpHost();

int port = kmConfig.getFtpPort();

String userName = kmConfig.getFtpUser();

String passWord = kmConfig.getFtpPassword();

String path = kmConfig.getFtpPath();

FtpClient ftpClient = new FtpClient(ftpHost, port);// ftpHost為FTP伺服器的IP地址,port為FTP伺服器的登陸埠,ftpHost為String型,port為int型。

ftpClient.login(userName, passWord);// userName、passWord分別為FTP伺服器的登陸用戶名和密碼

ftpClient.binary();

ftpClient.cd(path);// path為FTP伺服器上保存上傳文件的路徑。

TelnetOutputStream telnetOut = ftpClient.put(fileName);// fileName為上傳的文件名

DataOutputStream dataOut = new DataOutputStream(telnetOut);

byte buffer[] = new byte[ * ];

int count = ;

while ((count = is.read(buffer)) != -) {

dataOut.write(buffer, , count);

}

telnetOut.close();

dataOut.close();

ftpClient.closeServer();

} catch (Exception e) {

System.out.println("上傳文件失敗!請檢查系統FTP設置,並確認FTP服務啟動");

}

}

// 刪除文件至FTP通用方法

public static void deleteFileFtp(KmConfig kmConfig,String fileName){

try {

String ftpHost = kmConfig.getFtpHost();

int port = kmConfig.getFtpPort();

String userName = kmConfig.getFtpUser();

String passWord = kmConfig.getFtpPassword();

String path = kmConfig.getFtpPath();

FtpClient ftpClient = new FtpClient(ftpHost, port);// ftpHost為FTP伺服器的IP地址,port為FTP伺服器的登陸埠,ftpHost為String型,port為int型。

ftpClient.login(userName, passWord);// userName、passWord分別為FTP伺服器的登陸用戶名和密碼

ftpClient.binary();

ftpClient.cd(path);// path為FTP伺服器上保存上傳文件的路徑。

try {

ftpClient.sendServer("dele " + fileName + " ");

} catch (Exception e) {

System.out.println("刪除文件失敗!請檢查系統FTP設置,並確認FTP服務啟動");

}

ftpClient.closeServer();

} catch (Exception e) {

System.out.println("刪除文件失敗!");

}

}

// 下載ftp文件

public static void downloadFileFtp(KmConfig kmConfig,String fileName, String clientFileName, OutputStream outputStream){

try {

String ftpHost = kmConfig.getFtpHost();

int port = kmConfig.getFtpPort();

String userName = kmConfig.getFtpUser();

String passWord = kmConfig.getFtpPassword();

String path = kmConfig.getFtpPath();

FtpClient ftpClient = new FtpClient(ftpHost, port);// ftpHost為FTP伺服器的IP地址,port為FTP伺服器的登陸埠,ftpHost為String型,port為int型。

ftpClient.login(userName, passWord);// userName、passWord分別為FTP伺服器的登陸用戶名和密碼

ftpClient.binary();

ftpClient.cd(path);// path為FTP伺服器上保存上傳文件的路徑。

try {

TelnetInputStream in = ftpClient.get(fileName);

byte[] bytes = new byte[];

int cnt=;

while ((cnt=in.read(bytes,,bytes.length)) != -) {

outputStream.write(bytes, , cnt);

}

outputStream.close();

in.close();

} catch (Exception e) {

ftpClient.closeServer();

e.printStackTrace();

}

ftpClient.closeServer();

} catch (Exception e) {

System.out.println("下載文件失敗!請檢查系統FTP設置,並確認FTP服務啟動");

}

}

//在ftp伺服器上傳件文件夾

public boolean createDir(String path,FtpClient ftpClient) throws Exception{

//進入到home文件夾下

ftpClient.cd("/home");

//創建遠程文件夾

//遠程命令包括

//USER PORT RETR ALLO DELE SITE XMKD CDUP FEAT<br>

// PASS PASV STOR REST CWD STAT RMD XCUP OPTS<br>

// ACCT TYPE APPE RNFR XCWD HELP XRMD STOU AUTH<br>

// REIN STRU SMNT RNTO LIST NOOP PWD SIZE PBSZ<br>

// QUIT MODE SYST ABOR NLST MKD XPWD MDTM PROT<br>

// 在伺服器上執行命令,如果用sendServer來執行遠程命令(不能執行本地FTP命令)的話,所有FTP命令都要加上/r/n<br>

// ftpclient.sendServer("XMKD /test/bb/r/n"); //執行伺服器上的FTP命令<br>

// ftpclient.readServerResponse一定要在sendServer後調用<br>

// nameList("/test")獲取指目錄下的文件列表<br>

// XMKD建立目錄,當目錄存在的情況下再次創建目錄時報錯<br>

// XRMD刪除目錄<br>

// DELE刪除文件<br>

//通過遠程命令 穿件一個files文件夾

ftpClient.sendServer("MKD "+ path + " ");

//這個方法必須在 這兩個方法中間調用 否則 命令不管用

ftpClient.binary();

ftpClient.readServerResponse();

return false;

}

/**

* 檢查文件夾是否存在

* @param dir

* @param ftpClient

* @return

*/

public boolean isDirExist(String dir, FtpClient ftpClient) {

try {

ftpClient.cd(dir);

} catch (Exception e) {

return false;

}

return true;

}

}

(2):KmConfig.java代碼如下:定義FTP伺服器參數,包括登錄的用戶名密碼之類的。

package ftpDemo;

public class KmConfig {

//主機ip

private String FtpHost = "";

//埠號

private int FtpPort;

//ftp用戶名

private String FtpUser = "";

//ftp密碼

private String FtpPassword = "";

//ftp中的目錄

private String FtpPath = "";

public String getFtpHost() {

return FtpHost;

}

public void setFtpHost(String ftpHost) {

FtpHost = ftpHost;

}

public int getFtpPort() {

return FtpPort;

}

public void setFtpPort(int ftpPort) {

FtpPort = ftpPort;

}

public String getFtpUser() {

return FtpUser;

}

public void setFtpUser(String ftpUser) {

FtpUser = ftpUser;

}

public String getFtpPassword() {

return FtpPassword;

}

public void setFtpPassword(String ftpPassword) {

FtpPassword = ftpPassword;

}

public String getFtpPath() {

return FtpPath;

}

public void setFtpPath(String ftpPath) {

FtpPath = ftpPath;

}

}

(3):下面是測試代碼:

熱點內容
如何重設控制器密碼 發布:2024-10-05 14:19:13 瀏覽:437
安卓如何遠程簽到 發布:2024-10-05 14:11:11 瀏覽:299
阿里雲伺服器控制面板 發布:2024-10-05 13:57:48 瀏覽:818
涉法涉訴信訪問題意見 發布:2024-10-05 13:56:23 瀏覽:893
華為路由器配置導出的方法有哪些 發布:2024-10-05 13:55:36 瀏覽:162
我的世界好玩伺服器拍視頻 發布:2024-10-05 13:23:19 瀏覽:554
穿越火線掛機腳本 發布:2024-10-05 13:05:44 瀏覽:33
分解質因數c語言 發布:2024-10-05 12:15:53 瀏覽:779
mysql存儲過程字元編碼 發布:2024-10-05 12:05:48 瀏覽:184
c語言命名 發布:2024-10-05 11:56:38 瀏覽:619