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()
删除此抽象路径名表示的文件或目录。如果此路径名表示一个目录,则此目录必须为空才能删除。