IO流

来源:互联网 发布:fanuc pmc编程说明书 编辑:程序博客网 时间:2024/05/01 08:51

一:关于File对象:

//创建文件对象File file=new File("F:/1.text");//创建目录对象File file3=new File("F:/IOText");//判断file3对象是否是目录对象if(!file3.isDirectory()){//判断该目录是否存在if(!file3.exists()){//创建该一级目录  file3.mkdirs() 创建的是多级目录file3.mkdir();  }}//如果该文件不存在,则创建该文件   delete() 删除文件if(!file.exists()){file.createNewFile();}}


可以使用下面两个方法通过递归查询一级子目录,和所有子目录和文件

String fs[]=file.list();File[]files= file.listFiles();     //返回File 数组对象,利用递归和判断是否是目录或文件,得到所有子目录和子文件


二:关于路径的写法
java中的路径一般用"/"
windows中的路径一般用"\",而"\"需要转义,因此需要写成"\\"   
所以路径中的斜杠有两种写法
三:关于文件字符IO流对象
     File file1=new File("F://1.txt");     File file2=new File("F://2.txt");     try {     if(!file1.exists())         file1.createNewFile();         if(!file2.exists())         file2.createNewFile();                 //文件字符流读写对象 ,使用路径或者文件对象都可以        FileWriter fw=new FileWriter("F://1.txt");     FileWriter fw2=new FileWriter(file2);          FileReader fr=new FileReader(file1);     FileReader fr2=new FileReader(file2);          //写入数据,flush()刷新提交     fw.write("1112");     fw.flush();             char[] c=new char[1024];     int len=0;          //将fr读出到数组c中,并将其保存在字符串s中     while((len=fr.read(c))!=-1){     String s=new String(c,0,len);         System.out.println(s);         fw2.write(s);     }     fw.close();     fw2.close();     fr.close();     fr2.close();} catch (Exception e) {System.out.println(e.toString());} }
四:关于BufferedReader 和BufferedWriter
/*字符读取流缓冲区:该缓冲区提供了一个一次读一行的方法 readLine,方便于对文本数据的获取。当返回null时,表示读到文件末尾。readLine方法返回的时候只返回回车符之前的数据内容。并不返回回车符。*/ 
//创建一个读取流对象和文件相关联。 FileReader fr = new FileReader("F:/1.txt"); //为了提高效率。加入缓冲技术。将字符读取流对象作为参数传递给缓冲对象的构造函数。 BufferedReader bufr = new BufferedReader(fr); String line = null; while((line=bufr.readLine())!=null) { System.out.print(line); } bufr.close(); fr.close()
//创建一个字符写入流对象。FileWriter fw = new FileWriter("F:/1.txt");//为了提高字符写入流效率。加入了缓冲技术。//只要将需要被提高效率的流对象作为参数传递给缓冲区的构造函数即可。BufferedWriter bufw = new BufferedWriter(fw);for(int x=1; x<5; x++){bufw.write("abcd"+x);bufw.newLine();bufw.flush();}//记住,只要用到缓冲区,就要记得刷新。//bufw.flush();//其实关闭缓冲区,就是在关闭缓冲区中的流对象。bufw.close();

五:关于字节流 FileInputStream 和 FileOutputStream,用法和FileWriter 和FileRider 差不多
File f=new File("F:/3.txt");if(!f.exists()){f.createNewFile();}FileOutputStream fos2 = new FileOutputStream(f);FileOutputStream fos = new FileOutputStream("F:/2.txt");FileInputStream fis=new FileInputStream("F:/1.txt");byte[]c=new byte[1024];int len=0;while((len=fis.read(c))!=-1){fos2.write(c);}fos.close();fis.close();fos2.close();




原创粉丝点击