java操作文件实例大全讲解

java操作文件实例大全讲解,今天要编码实现删除指定文件夹下的所有文件,搜到一篇文章,列出了基于java的几乎所有文件操作代码,果断分享~

1.创建文件夹

File myFolderPath = new File(%%1);
try {
if (!myFolderPath.exists()) {
myFolderPath.mkdir();
}
}
catch (Exception e) {
System.out.println(“新建目录操作出错”);
e.printStackTrace();
}

2.创建文件
File myFilePath = new File(%%1);
try {
if (!myFilePath.exists()) {
myFilePath.createNewFile();
}
FileWriter resultFile = new FileWriter(myFilePath);
PrintWriter myFile = new PrintWriter(resultFile);
myFile.println(%%2);
resultFile.close();
}
catch (Exception e) {
System.out.println(“新建文件操作出错”);
e.printStackTrace();
}

3.删除文件
File myDelFile = new File(%%1);
try {
myDelFile.delete();
}
catch (Exception e) {
System.out.println(“删除文件操作出错”);
e.printStackTrace();
}

4.删除文件夹
File delFolderPath = new File(%%1);
try {
delFolderPath.delete(); //删除空文件夹
}
catch (Exception e) {
System.out.println(“删除文件夹操作出错”);
e.printStackTrace();
}

5.删除一个文件下夹所有的文件夹
File delfile=new File(%%1);
File[] files=delfile.listFiles();
for(int i=0;i<files.length;i++){
if(files[i].isDirectory()){
files[i].delete();
}
}

6.清空文件夹
File delfilefolder=new File(%%1);
try {
if (!delfilefolder.exists()) {
delfilefolder.delete();
}
delfilefolder.mkdir();
}
catch (Exception e) {
System.out.println(“清空目录操作出错”);
e.printStackTrace();
}

7.读取文件
// 逐行读取数据
FileReader fr = new FileReader(%%1);
BufferedReader br = new BufferedReader(fr);
String %%2 = br.readLine();
while (%%2 != null) {
%%3
%%2 = br.readLine();
}
br.close();
fr.close();

8.写入文件
// 将数据写入文件
FileWriter fw = new FileWriter(%%1);
fw.write(%%2);
fw.close();

9.写入随机文件
try {
RandomAcessFile logFile=new RandomAcessFile(%%1,”rw”);
long lg=logFile.length();
logFile.seek(%%2);
logFile.writeByte(%%3);
}catch(IOException ioe){
System.out.println(“无法写入文件:”+ioe.getMessage());
}

10.读取文件属性
// 文件属性的取得
File af = new File(%%1);
if (af.exists()) {
System.out.println(f.getName() + “的属性如下: 文件长度为:” + f.length());
System.out.println(f.isFile() ? “是文件” : “不是文件”);
System.out.println(f.isDirectory() ? “是目录” : “不是目录”);
System.out.println(f.canRead() ? “可读取” : “不”);
System.out.println(f.canWrite() ? “是隐藏文件” : “”);
System.out.println(“文件夹的最后修改日期为:” + new Date(f.lastModified()));
} else {
System.out.println(f.getName() + “的属性如下:”);
System.out.println(f.isFile() ? “是文件” : “不是文件”);
System.out.println(f.isDirectory() ? “是目录” : “不是目录”);
System.out.println(f.canRead() ? “可读取” : “不”);
System.out.println(f.canWrite() ? “是隐藏文件” : “”);
System.out.println(“文件的最后修改日期为:” + new Date(f.lastModified()));
}
if(f.canRead()){
%%2
}
if(f.canWrite()){
%%3
}

11.写入属性
File filereadonly=new File(%%1);
try {
boolean b=filereadonly.setReadOnly();
}
catch (Exception e) {
System.out.println(“拒绝写访问:”+e.printStackTrace());
}

12.枚举一个文件夹中的所有文件夹

//import java.io.*;
//import java.util.*;
ArrayList<String> folderList = new ArrayList<String>();
folderList.add(%%1);
for (int j = 0; j < folderList.size(); j++) {
File file = new File(folderList.get(j));
File[] files = file.listFiles();
ArrayList<File> fileList = new ArrayList<File>();
for (int i = 0; i < files.length; i++) {
if (files[i].isDirectory()) {
folderList.add(files[i].getPath());
} else {
fileList.add(files[i]);
}
}
for (File f : fileList) {
%%2=f.toString();
%%3
}
}

13.复制文件夹
//import java.io.*;
//import java.util.*;
ArrayList<String>folderList=new ArrayList<String>();
folderList.add(%%1);
ArrayList<String>folderList2=new ArrayList<String>();
folderList2.add(%%2);
for(int j=0;j<folderList.length;j++){
(new File(folderList2[j])).mkdirs(); //如果文件夹不存在 则建立新文件夹
File folders=new File(folderList[j]);
String[] file=folders.list();
File temp=null;
try {
for (int i = 0; i < file.length; i++) {
if(folderList[j].endsWith(File.separator)){
temp=new File(folderList[j]+”/”+file[i]);
}
else{
temp=new File(folderList[j]+”/”+File.separator+file[i]);
}
FileInputStream input = new FileInputStream(temp);
if(temp.isFile()){
FileInputStream input = new FileInputStream(temp);
FileOutputStream output = new FileOutputStream(folderList2[j] + “/” +
(temp.getName()).toString());
byte[] b = new byte[5120];
int len;
while ( (len = input.read(b)) != -1) {
output.write(b, 0, len);
}
output.flush();
output.close();
input.close();
}
if(temp.isDirectory()){//如果是子文件夹
folderList.add(folderList[j]+”/”+file[i]);
folderList2.add(folderList2[j]+”/”+file[i]);
}
}
}
catch (Exception e) {
System.out.println(“复制整个文件夹内容操作出错”);
e.printStackTrace();
}
}

14.复制一个文件夹下所有的文件夹到另一个文件夹下
File copyfolders=new File(%%1);
File[] copyfoldersList=copyfolders.listFiles();
for(int k=0;k<copyfoldersList.length;k++){
if(copyfoldersList[k].isDirectory()){
ArrayList<String>folderList=new ArrayList<String>();
folderList.add(copyfoldersList[k].getPath());
ArrayList<String>folderList2=new ArrayList<String>();
folderList2.add(%%2+”/”+copyfoldersList[k].getName());
for(int j=0;j<folderList.length;j++){
(new File(folderList2[j])).mkdirs(); //如果文件夹不存在 则建立新文件夹
File folders=new File(folderList[j]);
String[] file=folders.list();
File temp=null;
try {
for (int i = 0; i < file.length; i++) {
if(folderList[j].endsWith(File.separator)){
temp=new File(folderList[j]+”/”+file[i]);
}
else{
temp=new File(folderList[j]+”/”+File.separator+file[i]);
}
FileInputStream input = new FileInputStream(temp);
if(temp.isFile()){
FileInputStream input = new FileInputStream(temp);
FileOutputStream output = new FileOutputStream(folderList2[j] + “/” +
(temp.getName()).toString());
byte[] b = new byte[5120];
int len;
while ( (len = input.read(b)) != -1) {
output.write(b, 0, len);
}
output.flush();
output.close();
input.close();
}
if(temp.isDirectory()){//如果是子文件夹
folderList.add(folderList[j]+”/”+file[i]);
folderList2.add(folderList2[j]+”/”+file[i]);
}
}
}
catch (Exception e) {
System.out.println(“复制整个文件夹内容操作出错”);
e.printStackTrace();
}
}
}
}

15.移动文件夹
ArrayList<String>folderList=new ArrayList<String>();
folderList.add(%%1);
ArrayList<String>folderList2=new ArrayList<String>();
folderList2.add(%%2);
for(int j=0;j<folderList.length;j++){
(new File(folderList2[j])).mkdirs(); //如果文件夹不存在 则建立新文件夹
File folders=new File(folderList[j]);
String[] file=folders.list();
File temp=null;
try {
for (int i = 0; i < file.length; i++) {
if(folderList[j].endsWith(File.separator)){
temp=new File(folderList[j]+”/”+file[i]);
}
else{
temp=new File(folderList[j]+”/”+File.separator+file[i]);
}
FileInputStream input = new FileInputStream(temp);
if(temp.isFile()){
FileInputStream input = new FileInputStream(temp);
FileOutputStream output = new FileOutputStream(folderList2[j] + “/” +
(temp.getName()).toString());
byte[] b = new byte[5120];
int len;
while ( (len = input.read(b)) != -1) {
output.write(b, 0, len);
}
output.flush();
output.close();
input.close();
}
if(temp.isDirectory()){//如果是子文件夹
folderList.add(folderList[j]+”/”+file[i]);
folderList2.add(folderList2[j]+”/”+file[i]);
}
}
}
catch (Exception e) {
System.out.println(“复制整个文件夹内容操作出错”);
e.printStackTrace();
}
}
File movefile=new File(%%1);
File[] movefiles=movefile.listFiles();
for(int i=0;i<files.length;i++){
if(files[i].isDirectory()){
files[i].delete();
}
}
movefile.delete();

 

转帖:http://www.ixpub.net/thread-934923-1-1.html 本文链接地址: java操作文件实例大全讲解