A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

实例二、删除一个文件(delete())
  1. import java.io.File ;
  2. import java.io.IOException ;
  3. public class FileDemo04{
  4. public static void main(String args[]){
  5.   File f = new File("d:"+File.separator+"test.txt") ;  // 实例化File类的对象
  6.   f.delete() ; // 删除文件
  7. }
  8. }
复制代码
实例三、创建和删除文件(综合运用)
  1. import java.io.File ;
  2. import java.io.IOException ;
  3. public class FileDemo06{
  4. public static void main(String args[]){
  5.   File f = new File("d:"+File.separator+"test.txt") ;  // 实例化File类的对象
  6.   if(f.exists()){ // 判断文件是否存在
  7.    f.delete() ; // 删除文件
  8.   }else{
  9.    try{
  10.     f.createNewFile() ;  // 创建文件,根据给定的路径创建
  11.    }catch(IOException e){
  12.     e.printStackTrace() ; // 输出异常信息
  13.    }
  14.   }
  15. }
  16. }
复制代码
实例四、创建文件夹(mkdir())
  1. import java.io.File ;
  2. import java.io.IOException ;
  3. public class FileDemo07{
  4. public static void main(String args[]){
  5.   File f = new File("d:"+File.separator+"mldn") ;  // 实例化File类的对象
  6.   f.mkdir() ; // 创建文件夹
  7. }
  8. }
复制代码
实例五、列出指定目录下的全部文件(list())
  1. import java.io.File ;
  2. import java.io.IOException ;
  3. public class FileDemo08{//
  4. <strong style="color: rgb(70, 70, 70); font-family: simsun; background-color: rgb(188, 211, 229); "><font color="#FF0000" style="word-wrap: normal; word-break: normal; ">列出的文件包括隐藏文件</font></strong>
  5. public static void main(String args[]){
  6.   File f = new File("d:"+File.separator) ;  // 实例化File类的对象
  7.   String str[] = f.list() ; // 列出给定目录中的内容
  8.   for(int i=0;i<str.length;i++){
  9.    System.out.println(str[i]) ;
  10.   }
  11. }
  12. }
复制代码
实例六、判断一个给定路径是否是目录(isDirectory())
  1. import java.io.File ;
  2. import java.io.IOException ;
  3. public class FileDemo10{
  4. public static void main(String args[]){
  5.   File f = new File("d:"+File.separator) ;  // 实例化File类的对象
  6.   if(f.isDirectory()){ // 判断是否是目录
  7.    System.out.println(f.getPath() + "路径是目录。") ;
  8.   }else{
  9.    System.out.println(f.getPath() + "路径不是目录。") ;
  10.   }
  11. }
  12. }
复制代码
实例七、列出指定目录的全部内容(综合练习)
  1. import java.io.File ;
  2. import java.io.IOException ;
  3. public class FileDemo11{
  4. public static void main(String args[]){
  5.   File my = new File("d:" + File.separator) ; // 操作路径
  6.   print(my) ;
  7. }
  8. public static void print(File file){ // 递归调用
  9.   if(file!=null){ // 判断对象是否为空
  10.    if(file.isDirectory()){ // 如果是目录
  11.     File f[] = file.listFiles() ; // 列出全部的文件
  12.     if(f!=null){ // 判断此目录能否列出
  13.      for(int i=0;i<f.length;i++){
  14.       print(f[i]) ; // 因为给的路径有可能是目录,所以,继续判断
  15.      }
  16.     }
  17.    }else{
  18.     System.out.println(file) ; // 输出路径
  19.    }
  20.   }
  21. }
  22. }
复制代码
实例八、返回文件的绝对路径
  1. package fjl;

  2. import java.io.File;


  3. public class Demo{
  4.        
  5.         public static void main(String[] args){
  6.                 File file=new File("F:"+File.separator+"xxx.txt");
  7.                 String filePath=file.getAbsolutePath();//抽象路径名的绝对路径名字符串
  8.                 File f=file.getAbsoluteFile();//抽象路径名的绝对路径名形式
  9.                 System.out.println(f);
  10.                 System.out.println(filePath);
  11.         }
  12. }
复制代码
实例九、复制文件夹及其文件夹中的文件
  1. public class Demo02 {
  2.         public static void main(String[] args) {
  3.                 // TODO Auto-generated method stub
  4.                
  5.                 try {
  6.                         copyFolder(new File("F:\\test"),new File("D:\\fest"));
  7.                 } catch (IOException e) {
  8.                         // TODO Auto-generated catch block
  9.                         e.printStackTrace();
  10.                 }
  11.                
  12.         }
  13.     /**
  14.      * 复制文件夹及其文件
  15.      * @param src
  16.      * @param dest
  17.      * @throws IOException
  18.      */
  19.         private static void copyFolder(File src, File dest) throws IOException {  
  20.                 //如果源文件是为文件夹
  21.             if (src.isDirectory()) {  
  22.                     //如果目标文件夹不存在
  23.                 if (!dest.exists()) {  
  24.                         //创建文件夹
  25.                     dest.mkdir();  
  26.                 }  
  27.                 //列出此文件夹下的文件及目录
  28.                 String files[] = src.list();  
  29.                 for (String file : files) {  
  30.                         
  31.                    //创建一以源文件src和file文件名的一个新实例
  32.                     File srcFile = new File(src, file);
  33.                    // System.out.println(srcFile);
  34.                     
  35.                     File destFile = new File(dest, file);  
  36.                    // System.out.println(destFile);
  37.                     // 递归复制  
  38.                     copyFolder(srcFile, destFile);  
  39.                 }  
  40.             } else {  //如果源文件不是为文件夹
  41.                     //取得输入流
  42.                 InputStream in = new FileInputStream(src);
  43.                 //取得输出流
  44.                 OutputStream out = new FileOutputStream(dest);  
  45.                 //声明byte数组
  46.                 byte[] buffer = new byte[1024];  
  47.          
  48.                 int length;  
  49.                  //循环读写
  50.                 while ((length = in.read(buffer)) > 0) {  
  51.                     out.write(buffer, 0, length);  
  52.                 }  
  53.                 //资源关闭
  54.                 in.close();  
  55.                 out.close();  
  56.             }  
  57.         }
  58. }
复制代码
实例十、删除文建夹
  1. package com.fjl;

  2. import java.io.*;
  3. public class  DeleteDir{
  4.         public static void main(String[] args) {
  5.                
  6.                 File dir = new File("f:"+File.separator+"11");
  7.                 removeDir(dir);
  8.         }

  9.         public static void removeDir(File dir){
  10.                 //列出文件
  11.                 File[] files = dir.listFiles();
  12.                
  13.                 for(File file:files){
  14. //判断是否为文件夹
  15.                         if(file.isDirectory())
  16. removeDir(file);//如果是文件夹,则递归
  17.                         else
  18.                                 System.out.println(file.toString()+"删除情况:"+file.delete());
  19.                 }

  20.                 System.out.println(dir+"删除情况:"+dir.delete());
  21.         }

  22. }
复制代码
二、打印流
该流提供了打印方法,可以将各种数据类型的数据都原样打印。
主要有PrintStream和PrintWriter
字节打印流:PrintStream
构造函数可以接收的参数类型:
1,file对象。File
2,字符串路径。String
3,字节输出流。OutputStream
  1. import java.io.File;
  2. import java.io.FileNotFoundException;
  3. import java.io.FileOutputStream;
  4. import java.io.PrintStream;

  5. public class PrintDemo01 {//字节打印流

  6.         /**
  7.          * @param args
  8.          * @throws FileNotFoundException
  9.          */
  10.         public static void main(String[] args) throws FileNotFoundException {
  11.                 // TODO Auto-generated method stub

  12.                 //字节打印流
  13.                 PrintStream out=new PrintStream(new FileOutputStream(new File("f:"+File.separator+"b.txt")),true);
  14.                 out.println("hello");
  15.                 out.println("123");
  16.                 out.print(true);
  17.                 out.close();
  18.         }

  19. }
复制代码
字符打印流:PrintWriter
构造函数可以接收的参数类型:
1,file对象。File
2,字符串路径。String
3,字节输出流。OutputStream
4,字符输出流,Writer。
  1. package com.fjl;

  2. import java.io.*;

  3. public class  PrintDemo{//字符打印流
  4.        
  5.         public static void main(String[] args) throws IOException{
  6.                
  7.                 //键盘录入
  8.                 BufferedReader bufr =
  9.                                 new BufferedReader(new InputStreamReader(System.in));

  10.                     //设置自动刷新
  11.                         PrintWriter out = new PrintWriter(new FileWriter("f:"+File.separator+"a.txt"),true);

  12.                         String line = null;

  13.                         while((line=bufr.readLine())!=null){
  14.                                 if("over".equals(line))
  15.                                         break;
  16.                                 out.println(line.toUpperCase());                       
  17.                         }

  18.                         out.close();
  19.                         bufr.close();
  20.         }       
  21. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 总结的不错

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马