通过Java程序完成对于文件和文件夹的创建,删除,移动,读取和写入等操作。
基本操作
import java.awt.*;
import java.io.File;
import java.io.IOException;
import java.util.Arrays;
public class TestFileOperation {
public static void main(String[] args) throws IOException {
/*创建文件夹*/
File fileDir = new File("./src/file_operation/files/");
fileDir.mkdir();
File fileDir2=new File("./src/file_operation2/");
fileDir2.mkdir();
/*创建文件*/
File txtFile=new File("./src/file_operation3/hi.txt");
txtFile.createNewFile();
System.out.println(txtFile.getName());
/*重命名文件*/
boolean isRename=fileDir2.renameTo(new File("./src/file_operation3"));
System.out.println(isRename ? "Rename file successfully!" : "Rename file failed");
/*创建文件*/
File logFile = new File("./src/file_operation/files/error.log");
File txFile=new File("./src/file_operation/files/hello.txt");
txFile.createNewFile();
Boolean isCreateSuccess = logFile.createNewFile();
System.out.print(isCreateSuccess ? "Create file successfully!" : "Create file failed");
/*获取文件夹内的文件*/
String[] fileList=fileDir.list();
for(int i=0; i<fileList.length;i++) {
System.out.println(fileList[i]); //error.log;hello.txt
}
/*删除文件、文件夹*/
File delFile=new File("file_operation3");
Boolean isDeleteSuccess = delFile.delete();
System.out.println(isDeleteSuccess? "Delete file successfully" : "Delete file failed");
}
}
文件流操作
-
定义
向文件里面写入或者如何读取一个文件里面的
-
文件流
一个流可以理解为一个数据的序列。输入流表示从一个源读取数据,输出流表示向一个目标写数据。
-
Java读写文件的IO流分两大类:
- 字节流:基类是Reader和Writer;
- 字符流:基类是InputStream和OutPutStream。
Java文件流
- 创建文件对象:
File file = new File("xxx.txt");
- 用流装载文件,如果用字符流的话,则是:
FileReader fileReader = new FileReader(file);
- 如果用缓冲区,则用缓冲区装载流,用缓冲区是为了提高读写性能:
BufferedReader bufferedReader = new BufferedReader(fileReader);
- 开始读写操作:
while ((str = bufferedReader.readLine()) != null) {
stringBuffer.append(str);
}
例子
public static void readFileByCharacter(String filePath) {
File file = new File(filePath);
FileReader reader = null;
try {
reader = new FileReader(file);
int temp;
String result = "";
while ((temp = reader.read()) != -1) {
result += (char)temp;
}
System.out.print(result);
} catch (IOException e) {
e.getStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
运行结果