- 创建Ex1.java程序,该程序实现如下要求:
- )利用File类,在F盘下建立一个目录aa,在aa里面建立一个pz.txt的文本文件。
- )利用File类的相关方法,验证上面创建的目录和文件是否存在?验证aa是否是一个目录?验证pz.txt是否是一个文件?输出pz.txt的绝对路径和相对路径?判断文件是否可读和可写等
本练习主要是理解并熟练使用File类的作用和常用的方法。
package w1;
import java.io.*;
public class Ex1 {
public static void main(String[] args) throws IOException {
File path = new File("C:/aa");
path.mkdir();
File file = new File(path,"pz.txt");
file.createNewFile();
System.out.println(path.exists());
System.out.println(file.exists());
System.out.println(path.isDirectory());
System.out.println(file.isFile());
System.out.println(file.getAbsolutePath());
System.out.println(file.getPath());
System.out.println(file.canRead());
System.out.println(file.canWrite());
}
}
2.写一个程序Ex2.java,写入数据到文件f:\\aa\\pz.txt
- )定义一个字节数组,并为数组分配10个数字
- )创建FileOutputStream对象并将数组内容写入文件。
本练习主要是理解并掌握FileOutputStream(文件字节输出流)类的使用。
package w1;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Random;
import com.sun.xml.internal.bind.v2.runtime.unmarshaller.XsiNilLoader.Array;
public class Ex2 {
public static void main(String[] args) throws IOException {
byte[] nu = {97,108,85,66,78,99,104,93,97,100};
FileOutputStream fos = new FileOutputStream("C:\\aa\\pz.txt");
fos.write(nu);
fos.close();
}
}
3.写一个程序Ex3.java,从文件E:\\aa\\1.txt中读取数据。
创建FileInputStream对象,读取文件并在屏幕上显示读取的数字。
本练习主要是理解并掌握FileInputStream(文件字节输出流)类的使用。
package w1;
import java.io.*;
public class Ex3 {
public static void main(String[] args) throws IOException {
FileInputStream fis = new FileInputStream("C:\\aa\\hi.txt");
byte i[] = new byte[fis.available()];
fis.read(i);
System.out.println(new String(i));
fis.close();
}
}
4.写一个程序Ex4.java,用字符流实现如下要求:
- 定义一个字符串,并为其赋值“大家好!”;
- 在E盘建立一个aa.txt文件
- 把“大家好!”这个字符串写入到aa.txt文件中。
- 读取aa.txt中的内容,并输出在控制台。
本练习主要是理解并掌握FileReader和FileWriter类的使用。
package w1;
import java.io.*;
public class Ex4 {
public static void main(String[] args) throws IOException {
String str = "大家好!!!";
File path = new File("C:/aa");
path.mkdir();
File file = new File("C:\\aa\\aa.txt");
file.createNewFile();
char[] cr = new char[1024];
FileWriter fw = new FileWriter(file);
FileReader fr = new FileReader(file);
fw.write(str);
fw.close();
int num = 0;
while((num=fr.read(cr))!=-1) {
System.out.println(new String(cr,0,num));
System.out.println("读取到的字符数为:"+num);
}
fr.close();
}
}
//1.定义char数组,尽可能大;2.int read(char[] cbuf) 将字节读入数组;3.int num 表示的是每次
//有效读取的个数;