java对文件操作之实用
Posted 寂天风
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java对文件操作之实用相关的知识,希望对你有一定的参考价值。
创建文件
package com.pre; import java.io.File; public class WJ { public static void main(String[] args) throws Exception { File file=new File("D:"+File.separator+"text2.txt");//创建路径下的文件 if(!file.getParentFile().exists())//如果父路径不存在 { file.getParentFile().mkdirs();//创建父路径 } if(file.exists())//如果文件存在 { file.delete();//删除文件 } else { System.out.println(file.createNewFile());//否则创建文件 } } }
列出D盘的所有文件及目录:
package com.pre; import java.io.File; public class Pd { public static void main(String [] args) { File file=new File("D:"+File.separator);//创建路径 print(file); } public static void print(File file)//递归函数依次判断如果为目录,继续执行,如果为文件则输出 { if(file.isDirectory())//如果file为目录 { File rest[]=file.listFiles();//列出目录 if(rest!=null)//如果目录不为空 { for(int i=0;i<rest.length;i++) { print(rest[i]); } System.out.println(file); } } } }
*if(rest!=null)不能删除,否则报错有空值
如果把System.out.println(file);改为file.delete();则功能会变为将D盘所有文件删除。
使用字节流操作文件的读取和写入操作:
package com.pre; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; public class WJ { public static void main(String[] args) throws Exception {//首先创建文件的路径 File file=new File("D:"+File.separator+"text3.txt"); OutputStream output=new FileOutputStream(file,true);//然后实例化OutputStream类的对象,追加型添加数据 String str="今天早上真是个好天气 "; byte data[]=str.getBytes();//将String类型转换为byte类型 output.write(data);//进行写入操作 output.close();//关闭流 InputStream input=new FileInputStream(file);//实例化InputStream类的对象 byte b[]=new byte[1024];//建立数组存储从文件中读取的数据 int aa=0;//存取每个读取的数据 int foot=0;//定义索引 while((aa=input.read())!=-1)//如果文件中的数据没有读取完(返回值不为-1)便转换为byte类型赋值给foot { b[foot++]=(byte)aa; } System.out.println("读取的内容为:【"+new String(b,0,foot)+"】");//输出读取的内容 } }
以上是关于java对文件操作之实用的主要内容,如果未能解决你的问题,请参考以下文章