1、創建File對象File(String pathname):pathname錄入時錄入的路徑字元串需要注意/和的運用,但是由於java開發出的程序需要運用到不同的系統上,因此,一般以File.separator來代替。
⑵ java刪除文件夾下的所的文件及文件夾 為什麼會有時能刪 有時不能刪除呢
lz的代碼是可以實現刪除文件的,有時不能刪除的原因有可能是因為文件夾或文件夾中的文件有可能被打開或被別的程序使用,這種情況是刪不掉的,千萬不要說你沒有使用,有時可能是看不到而已,可以下個小軟體unlocker查看下是否有在使用。
總之:代碼沒問題,如果要刨根問底的話還是用我上面的方法吧(程序員就要有這種勁),否則就算了。
⑶ java刪除文件夾怎麼刪
import java.io.File; //這是java的一個文件類 它這樣聲明 比如說c盤下有一個test.txt文件
//File file = new File('test.txt');
private void deleteFile(File file){
if(file.exists()){ //判斷文件是否存在
if(file.isFile()){ //判斷是否是文件
file.delete(); //delete()方法 你應該知道 是刪除的意思;
}else if(file.isDirectory()){ //否則如果它是一個目錄
File files[] = file.listFiles(); //聲明目錄下所有的文件 files[];
for(int i=0;i<files.length;i++){ //遍歷目錄下所有的文件
this.deleteFile(files[i]); //把每個文件 用這個方法進行迭代
}
}
file.delete();
}else{
System.out.println("所刪除的文件不存在!"+'\n');
}
}
//希望你可以明白
⑷ java內,已知一個文件的路徑,如何根據路徑來刪除這個文件
import java.io.File;
public class FileDelDemo {
boolean flag;
public static void main(String[] args) {
String path = "D://aa.txt";
new FileDelDemo().deleteFile(path);
}
public boolean deleteFile(String sPath) {
flag = false;
File file = new File(sPath);
// 路徑為文件且不為空則進行刪除
if (file.isFile() && file.exists()) {
file.delete();
flag = true;
}
return flag;
}
}
⑸ Java FTPClient 刪除文件 deleteFile,文件目錄多層時會出錯,文件目錄小於等於4層可以正常刪除
中午也遇到調用ftp.deleteFile("文件全路徑")刪除文件失敗;
建議:1.下文件路徑是否正確專(包括路徑需從根目錄開始屬 /)
2.文件名稱若包含中文(new string(path.getBytes("GBK"),"ISO-8859-1"))注意編碼問題
主要發現:題主說的用命令創建的文件無法刪除問題!自己命令創建的txt文件是可以刪除的;不知道題主刪除不了的是什麼文件;
另:發現 用這個函數刪除文件時;ftp上文件已被刪除但返回false 這個問題不知誰有遇到,還請不吝賜教
⑹ java 怎麼 刪除文件夾下的文件
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.File;
public class ReadFile {
public ReadFile() {}
/**
* 刪除某個文件夾下的所有文件夾和文件
* @param delpath String
* @throws FileNotFoundException
* @throws IOException
* @return boolean
*/
public static boolean deletefile(String delpath) throws FileNotFoundException,
IOException {
try {
File file = new File(delpath);
if (!file.isDirectory()) {
System.out.println("1");
file.delete();
}
else if (file.isDirectory()) {
System.out.println("2");
String[] filelist = file.list();
for (int i = 0; i < filelist.length; i++) {
File delfile = new File(delpath + "\\" + filelist[i]);
if (!delfile.isDirectory()) {
System.out.println("path=" + delfile.getPath());
System.out.println("absolutepath=" + delfile.getAbsolutePath());
System.out.println("name=" + delfile.getName());
delfile.delete();
System.out.println("刪除文件成功");
}
else if (delfile.isDirectory()) {
deletefile(delpath + "\\" + filelist[i]);
}
}
file.delete();
}
}
catch (FileNotFoundException e) {
System.out.println("deletefile() Exception:" + e.getMessage());
}
return true;
}
/**
* 刪除某個文件夾下的所有文件夾和文件
* @param delpath String
* @throws FileNotFoundException
* @throws IOException
* @return boolean
*/
public static boolean readfile(String filepath) throws FileNotFoundException,
IOException {
try {
File file = new File(filepath);
if (!file.isDirectory()) {
System.out.println("文件");
System.out.println("path=" + file.getPath());
System.out.println("absolutepath=" + file.getAbsolutePath());
System.out.println("name=" + file.getName());
}
else if (file.isDirectory()) {
System.out.println("文件夾");
String[] filelist = file.list();
for (int i = 0; i < filelist.length; i++) {
File readfile = new File(filepath + "\\" + filelist[i]);
if (!readfile.isDirectory()) {
System.out.println("path=" + readfile.getPath());
System.out.println("absolutepath=" + readfile.getAbsolutePath());
System.out.println("name=" + readfile.getName());
}
else if (readfile.isDirectory()) {
readfile(filepath + "\\" + filelist[i]);
}
}
}
}
catch (FileNotFoundException e) {
System.out.println("readfile() Exception:" + e.getMessage());
}
return true;
}
public static void main(String[] args) {
try {
readfile("D:/file");
//deletefile("D:/file");
}
catch (FileNotFoundException ex) {
}
catch (IOException ex) {
}
System.out.println("ok");
}
}
⑺ 如何用JAVA刪除一個非空的目錄
有兩種方式,一種使用遞歸演算法,另外一種直接調用windows的命令:
importjava.io.File;
publicclassFileDemo{
/**
*通過調用系統命令刪除一個文件夾及下面的所有文件
*@paramfile
*/
(Filefile){
Runtimert=Runtime.getRuntime();
Stringcmd=null;
try{
if(file.isFile()){
cmd="cmd.exe/cdel/q/a/f/s"+file.getAbsolutePath();
}else{
cmd="cmd.exe/crd/s/q"+file.getAbsolutePath();
}
rt.exec(cmd);
System.out.println("成功執行了命令...");
}catch(Exceptione){
System.out.println("調用系統命令失敗了...");
}
}
/**
*通過遞歸調用刪除一個文件夾及下面的所有文件
*@paramfile
*/
publicstaticvoiddeleteFile(Filefile){
if(file.isFile()){//表示該文件不是文件夾
file.delete();
}else{
//首先得到當前的路徑
String[]childFilePaths=file.list();
for(StringchildFilePath:childFilePaths){
FilechildFile=newFile(file.getAbsolutePath()+"\"+childFilePath);
deleteFile(childFile);
}
file.delete();
}
}
publicstaticvoidmain(String[]args){
Filefile=newFile("D:\demo");
//deleteFileByWinCom(file);
deleteFile(file);
}
}
具體參考資料:http://blog.csdn.net/smach1991710/article/details/9175757
⑻ java中File類的delete方法
通過fileTxt[ j ] ,看你是循環刪除,你判斷了文件是否存在,但是沒有判斷是否是文件夾、文件夾里是否還有文件
因為文件夾里有文件時,執行delete()是不成功的
此外,你在刪除的文件,有可能正被其他人或程序打開,這個時候刪除也不會成功
參考Java API的java.io.File類:
delete
public boolean delete()
刪除此抽象路徑名表示的文件或目錄。如果此路徑名表示一個目錄,則此目錄必須為空才能刪除。