FileIO相关练习

流: 在Java ApI 中,可以从其中读入一个字节序列的对象叫做输入流,而可以向其中写入一个字节序列的对象称做输出流。

File 创建文件(详情请查看JDK帮助手册)

      一个实例:

      File file=new File(“文件名称”);

读写文本文件 :

  1. 使用字节流读取文本文件
  2. 使用字符流读取文本文件

方法类

import java.io.File;
import java.io.IOException;
import java.util.Scanner;


public class Methods {
    /**
     * 创建第一层文件夹
     * @param Url
     */
    public File createfirstFileSet(String Url){        
        File file=new File(Url);
        if (file.exists()) {
            System.out.println("已存在同名文件夹!");
        }
        else{
            file.mkdir();
        }        
        return file;
    }
    /**
     * 创建子文件夹  小弟新学,望大神指点迷津,谢谢 这个方法个人觉得欠妥
     * @param name 文件夹路径
     * @throws IOException
     */
    public File createNewChildFileSet(File fatherfile,String childUrl) throws IOException{
        File childfile = null;
        if (fatherfile.exists()) {                     //判断文件是否存在    
            childfile=new File(fatherfile,childUrl); //创建文件对象            
            childfile.mkdirs();                      //执行创建操作
            
        }else{            
            System.out.println("未找到父文件夹,是否继续创建(是:1)?");//基于是控制台输出所以 ,,其实可以使用Java界面弹窗响应                                                             
            Scanner input=new Scanner(System.in);     //可能会问为什么不用BufferedReader方法, 因为BufferedReader方法没有任何读入数字的方法
            System.out.println("请选择:");
            int result=input.nextInt();
            input.close();                            //关闭Scanner读取器
            switch (result) {
            case 1:
                File file=new File(fatherfile.getPath());
                file.mkdir();                       //mkdir与mkdirs区别
                createNewChildFileSet(file, childUrl);
                break;    
            default:
                System.out.println("停止此方法");
                break;
            }            
        }
        return childfile;
    }
    /**
     * 在文件夹中添加txt,doc等格式的文件
     */
    public void AddFilesToFileSets(File toFileSet,String fileName){
        if (toFileSet.isDirectory()) { //判断toFileSet文件是否为文件夹
            File file=new File(toFileSet,fileName);
            try {
                file.createNewFile();
            } catch (IOException e) {                
                e.printStackTrace();
            }
        }
    }
    /**
     * 流 C# 中只存在FileStream 类其中包含 读 数据的方法,写的方法。
     * 而中给FileStream 分工更加明确了: 按流向分为输入流(OutputStream和Write作为基类 ),输出流(InputStream和Reader作为基类)
     *    
     */

 

 

 

测试类

 1 import java.io.File;
 2 import java.io.IOException;
 3 
 4 
 5 public class program {
 6     public static void main(String[] args) {
 7             File ChildStream=null;
 8             File Childfile=null;
 9             /**
10              * 创建文件夹结构            
11              * File(File parent, String child) ;构造
12              * File(URI uri);构造
13              */
14             Methods m=new Methods();
15             File file=m.createfirstFileSet("E:流与文件"); //创建第一个文件    
16             try {
17                 ChildStream=m.createNewChildFileSet(file,"流");    //创建子文件            
18                 Childfile=m.createNewChildFileSet(file, "文件");        
19             } catch (IOException e) {            
20                 e.printStackTrace();
21             }
22             /**
23              * 在文件夹中添加txt,doc 等格式文件
24              */
25             m.AddFilesToFileSets(ChildStream, "流.txt");
26             m.AddFilesToFileSets(Childfile, "文件.doc");
27             
28             /**
29              * 下面的是如何在txt,doc文本中   读取,写入数据
30              * 详细请参考JDK帮助手册 
31              */
32             
33     }
34 }

 

posted @ 2014-08-24 19:38  ClodThunder  阅读(140)  评论(0编辑  收藏  举报