任务需求1:
在c盘下创建一个目录homework,目录下创建一个名称为temp1.txt、temp2.txt的文件,
1)查看temp1文件是否存在、名称、大小、路径、父目录、可读可写状态等信息;
2)往temp1中先后写入"I love Java!"和"我爱Java!好好学习,天天向上!"
3)读取temp1中的数据,并复制到temp2中去。(用FileInputStream、FileOutputStream、FileReader、FileWriter、Bufferedreader、BufferedWriter、PrintWriter分别实现文件的读写操作)
所需知识点:
1.运用File类进行文件和目录操作;
2.用字节流、字符流实现文件的读写;
代码如下:
package cn.demo.main;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.nio.CharBuffer;
public class Main {
public static void main(String[] args) throws IOException {
File file = new File("D:\\homework\\temp1.txt");
//(1)
Demo1(file);
//(2)
Demo2(file);
//(3)
Demo3(file);
}
private static void Demo3(File file) throws FileNotFoundException,
IOException {
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
File file1 = new File("D:\\homework\\temp2.txt");
FileWriter fw1 = new FileWriter(file1);
BufferedWriter bw1 = new BufferedWriter(fw1);
String newStr = br.readLine() ;
bw1.write(newStr);
bw1.flush();
bw1.close();
br.close();
}
private static void Demo2(File file) {
try {
getPrint(file);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void getPrint(File file) throws IOException{
FileWriter fw = new FileWriter(file);
BufferedWriter bw = new BufferedWriter(fw);
fw.write("I love Java!");
fw.write(" ");
fw.write("我爱Java!好好学习,天天向上!");
fw.flush();
fw.close();
}
private static void Demo1(File file) {
//boolean exists() 测试此抽象路径名表示的文件或目录是否存在。
boolean newFlag = file.exists() ;
if(newFlag==true){
System.out.println("temp1文件存在!");//temp1文件存在!
}else{
System.out.println("temp1文件存在!");
}
//String getName() 返回由此抽象路径名表示的文件或目录的名称。
String newName = file.getName() ;
System.out.println("文件的名称是:"+newName); //文件的名称是:temp1.txt
long newSize = file.getTotalSpace() ;
System.out.println("分区大小为:"+newSize);//分区大小为:136314875904
//String getPath() 将此抽象路径名转换为路径名字符串。
String newPath = file.getPath() ;
System.out.println("路径字符串为:"+newPath);//D:\homework\temp1.txt
//String getParent() 返回此抽象路径名的父 null的路径名字符串,如果此路径名未命名为父目录,则返回null。
String newParent = file.getParent();
System.out.println("父类的路径:"+newParent);//D:\homework
}
}