本周学习的重点放在Java文件的操作之上。
学习情况如下:
在指定的位置创建一个文件,并在其中创建一个txt文件,并输出语句判断是否创建成功。
package file文件类操作; import java.io.File; import java.io.IOException; public class Demo1 { public static void main(String[] args) throws IOException { //抛出异常 File file=new File("d://java创建的目录"); boolean b= file.mkdir(); //创建虚拟目录 if(b) { System.out.println("目录创建成功!"); file=new File("d://java创建的目录//java创建的文件.txt"); boolean b2=file.createNewFile(); if(b2) { System.out.println("文件创建成功!"); } else { System.out.println("文件创建失败!"); } }else { System.out.println("目录创建失败!"); } } }
删除操作:
必须先删除文件里面的东西,然后再删除文件本身,如果文件里边由东西,就无法进行删除操作了。删除操作只能对空文件进行。
package file文件类操作; import java.io.File; import java.io.IOException; public class Demo2 { public static void main(String[] args) throws IOException { File file=new File("d://java创建的目录//java创建的文件.txt"); if(file.exists()) { //假如文件存在 boolean b= file.delete(); //删除文件 if(b) { System.out.println("删除文件成功"); }else { System.out.println("删除文件失败"); } } file=new File("d://java创建的目录"); if(file.exists()) { file.delete(); //删除目录 boolean b2=file.delete(); if(b2) { System.out.println("删除目录成功。。。"); }else { System.out.println("删除目录失败。"); } } } }
遍历目录:
将目录中的文件输出出来:
package file文件类操作; import java.io.File; public class Demo3 { public static void main(String[] args) { File file=new File("D:\c语言\c语言资料"); File files[]=file.listFiles(); //遍历目录 for(int i=0;i<files.length;i++) { System.out.println(files[i]); } } }
执行操作结果如下:
文件的读写操作:
reader 为输出流
writer 为输入流
每次创建新的输入输出流之后必须要由相应的关闭操作。
文件的两种读取方式:
1. //一次性全部读取完毕并输出出来 package file文件类操作2; import java.io.File; import java.io.FileReader; import java.io.Reader; public class 文件操作读写 { public static void main(String[] args) throws Exception { File file=new File("D://cxy.txt"); Reader reader=new FileReader(file); char c[]=new char [1024]; //字符数组 int len=reader.read(c); reader.close(); //关闭输入流 System.out.println("具体内容:"+new String(c,0,len)); } } 2. //将文件中的资料逐个读取并输出 package file文件类操作2; import java.io.File; import java.io.FileReader; import java.io.Reader; public class 文件操作读写2 { public static void main(String[] args) throws Exception { File file=new File("D://cxy.txt"); Reader reader=new FileReader(file); char c[]=new char [1024]; //字符数组 int temp=0; int len=0; while((temp=reader.read())!=-1) { //一个一个读取 c[len++]=(char) temp; } reader.close(); //关闭输入流 System.out.println("具体内容:"+new String(c,0,len)); } }
文件的覆盖操作:
将文件原来的数据全部覆盖,重新输入数据
package file文件类操作2; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.OutputStream; public class Demo3 { public static void main(String[] args) throws Exception { File file=new File("D://百度网盘//cxy.txt"); OutputStream out=new FileOutputStream(file); String str="我命由我不由天,是魔是仙我说了算 小哪吒"; //覆盖方式 byte b[]=str.getBytes(); out.write(b); //数组写入输出流 out.close(); //关闭输出流 } }
文件追加方式:
不覆盖之前的资料,在末尾添加新的资料
package file文件类操作2; import java.io.File; import java.io.FileOutputStream; import java.io.OutputStream; /** * 文件追加 * @author cuixingyu * */ public class Demo4 { public static void main(String[] args) throws Exception { File file=new File("D://百度网盘//cxy.txt"); OutputStream out=new FileOutputStream(file,true); String str="我命由我不由天,是魔是仙我说了算 4785"; //追加方式 byte b[]=str.getBytes(); out.write(b); //数组写入输出流 out.close(); //关闭输出流 } }