Ⅰ java怎麼創建目錄(刪除/修改/復制目錄及文
importjava.io.*;
publicclassFileOperate{
publicFileOperate(){
}
/**
*新建目錄
*@paramfolderPathString如c:/fqf
*@returnboolean
*/
publicvoidnewFolder(StringfolderPath){
try{
StringfilePath=folderPath;
filePath=filePath.toString();
java.io.FilemyFilePath=newjava.io.File(filePath);
if(!myFilePath.exists()){
myFilePath.mkdir();
}
}
catch(Exceptione){
System.out.println("新建目錄操作出錯");
e.printStackTrace();
}
}
/**
*新建文件
*@paramfilePathAndNameString文件路徑及名稱如c:/fqf.txt
*@paramfileContentString文件內容
*@returnboolean
*/
publicvoidnewFile(StringfilePathAndName,StringfileContent){
try{
StringfilePath=filePathAndName;
filePath=filePath.toString();
FilemyFilePath=newFile(filePath);
if(!myFilePath.exists()){
汪沖櫻myFilePath.createNewFile();
}
FileWriterresultFile=newFileWriter(myFilePath);
PrintWritermyFile=newPrintWriter(resultFile);
StringstrContent=fileContent;
myFile.println(strContent);
resultFile.close();
}
catch(Exceptione){
System.out.println("新建目錄操作出錯");
e.printStackTrace();
}
}
/**
*刪除文件
*@paramfilePathAndNameString文件路徑及名稱如c:/fqf.txt
*@paramfileContentString
*@returnboolean
判旦*/
publicvoiddelFile(StringfilePathAndName){
try{
StringfilePath=filePathAndName;
filePath=filePath.toString();
困叢java.io.FilemyDelFile=newjava.io.File(filePath);
myDelFile.delete();
}
catch(Exceptione){
System.out.println("刪除文件操作出錯");
e.printStackTrace();
}
}
/**
*刪除文件夾
*@paramfilePathAndNameString文件夾路徑及名稱如c:/fqf
*@paramfileContentString
*@returnboolean
*/
publicvoiddelFolder(StringfolderPath){
try{
delAllFile(folderPath);//刪除完裡面所有內容
StringfilePath=folderPath;
filePath=filePath.toString();
java.io.FilemyFilePath=newjava.io.File(filePath);
myFilePath.delete();//刪除空文件夾
}
catch(Exceptione){
System.out.println("刪除文件夾操作出錯");
e.printStackTrace();
}
}
/**
*刪除文件夾裡面的所有文件
*@parampathString文件夾路徑如c:/fqf
*/
publicvoiddelAllFile(Stringpath){
Filefile=newFile(path);
if(!file.exists()){
return;
}
if(!file.isDirectory()){
return;
}
String[]tempList=file.list();
Filetemp=null;
for(inti=0;i<tempList.length;i++){
if(path.endsWith(File.separator)){
temp=newFile(path+tempList[i]);
}
else{
temp=newFile(path+File.separator+tempList[i]);
}
if(temp.isFile()){
temp.delete();
}
if(temp.isDirectory()){
delAllFile(path+"/"+tempList[i]);//先刪除文件夾裡面的文件
delFolder(path+"/"+tempList[i]);//再刪除空文件夾
}
}
}
/**
*復制單個文件
*@paramoldPathString原文件路徑如:c:/fqf.txt
*@paramnewPathString復制後路徑如:f:/fqf.txt
*@returnboolean
*/
publicvoidFile(StringoldPath,StringnewPath){
try{
intbytesum=0;
intbyteread=0;
Fileoldfile=newFile(oldPath);
if(oldfile.exists()){//文件存在時
InputStreaminStream=newFileInputStream(oldPath);//讀入原文件
FileOutputStreamfs=newFileOutputStream(newPath);
byte[]buffer=newbyte[1444];
intlength;
while((byteread=inStream.read(buffer))!=-1){
bytesum+=byteread;//位元組數文件大小
System.out.println(bytesum);
fs.write(buffer,0,byteread);
}
inStream.close();
}
}
catch(Exceptione){
System.out.println("復制單個文件操作出錯");
e.printStackTrace();
}
}
/**
*復制整個文件夾內容
*@paramoldPathString原文件路徑如:c:/fqf
*@paramnewPathString復制後路徑如:f:/fqf/ff
*@returnboolean
*/
publicvoidFolder(StringoldPath,StringnewPath){
try{
(newFile(newPath)).mkdirs();//如果文件夾不存在則建立新文件夾
Filea=newFile(oldPath);
String[]file=a.list();
Filetemp=null;
for(inti=0;i<file.length;i++){
if(oldPath.endsWith(File.separator)){
temp=newFile(oldPath+file[i]);
}
else{
temp=newFile(oldPath+File.separator+file[i]);
}
if(temp.isFile()){
FileInputStreaminput=newFileInputStream(temp);
FileOutputStreamoutput=newFileOutputStream(newPath+"/"+
(temp.getName()).toString());
byte[]b=newbyte[1024*5];
intlen;
while((len=input.read(b))!=-1){
output.write(b,0,len);
}
output.flush();
output.close();
input.close();
}
if(temp.isDirectory()){//如果是子文件夾
Folder(oldPath+"/"+file[i],newPath+"/"+file[i]);
}
}
}
catch(Exceptione){
System.out.println("復制整個文件夾內容操作出錯");
e.printStackTrace();
}
}
/**
*移動文件到指定目錄
*@paramoldPathString如:c:/fqf.txt
*@paramnewPathString如:d:/fqf.txt
*/
publicvoidmoveFile(StringoldPath,StringnewPath){
File(oldPath,newPath);
delFile(oldPath);
}
/**
*移動文件到指定目錄
*@paramoldPathString如:c:/fqf.txt
*@paramnewPathString如:d:/fqf.txt
*/
publicvoidmoveFolder(StringoldPath,StringnewPath){
Folder(oldPath,newPath);
delFolder(oldPath);
}
}
Ⅱ 文件和文件夾的建立 JAVA
第一個問題:
File file =new File(String pathname);只是在內存中創建了一個File實例。pathname可以是路徑也可以是文件。然後調用file.createNewFile();才會創建文件。所以不是樓主是所說的ile has never been read。
而執行PrintWriter out = new PrintWriter(file);後發現創建了文件,這是由於PrintWriter構造方法執行機制所決定的,如果文件為空,則會自動掉用file的createNewFile()方法創建一個文件(詳見api PrintWriter)。所以樓主又看到了所創建的文件。異常用try catch捕獲FileNotFoundException。
第二個問題:創建多級目錄要用file.mkdirs();你那個只能創建一級目錄。
我寫個例子 經過檢驗的 你參考一下 多級目錄的文件創建:
import java.io.*;
public class FileTest{
public File fileCreate(String fileFoder, String fileName){
File foder = new File(fileFoder);
File file = new File(fileFoder+fileName);
//如果文件夾不存在,則創建文件夾
if(foder.exists()==false){
foder.mkdirs();//多級目錄
//foder.mkdir();//只創建一級目錄
}
//如果文件不存在,則創建文件
if(file.exists()==false){
try{
file.createNewFile();
}catch(IOException e){
e.printStackTrace();
}
}
return file;
}
public static void main(String [] args){
FileTest fileTest= new FileTest();
String fileFoder="D://test1//test2";
String fileName="//test_io.txt";
File file= fileTest.fileCreate(fileFoder,fileName);
System.out.println(file.getPath());
}
}
至於文件讀寫的內容很多 給你個參考的鏈接
http://www.jb51.net/article/16396.htm
Ⅲ java如何在當前文件下創建目錄
可以直接創建文件時用相對路徑,如:
File dir = new File("aaa/bbb");
dir.mkdirs();
這樣創建的頃櫻旦目錄就是在當前目錄下。
如果要指定絕對路徑雀擾可以獲取當前class文件的路徑:
test.class.getResource("頌歷").getPath();
Ⅳ java如何在當前文件下創建目錄
可以直接創唯型建文件指培猜時用相對路徑,如:x0dx0aFile dir = new File("aaa/bbb");x0dx0adir.mkdirs();x0dx0a這樣創建的目錄就是在當前目錄下中沒。x0dx0a x0dx0a如果要指定絕對路徑可以獲取當前class文件的路徑:x0dx0atest.class.getResource("").getPath();