java File 类常用操作,和java 文件流常用操作演示

File类常用方法-演示

public static void main(String[] args) {
    //创建文件对象
    File file = new File("D:/myDoc/myTest.txt");//解释构造
    System.out.println(file.exists());
    //判断文件是否存在
    if(file.exists()){
     System.out.println(file.getName());    //获取文件名;
     System.out.println(file.length());//获得文件的大小
     System.out.println(file.getPath());;//获取文件所在的相对路径
     System.out.println(file.getAbsolutePath());//获取文件所在的绝对路径
    }
    System.out.println(file.isFile());//判断是否是一个文件
    System.out.println(file.isDirectory());//判断是否是文件夹。

    try {
        file.createNewFile();//创建文件
        System.out.println("创建成功!");
        //file.delete();//删除文件
        System.out.println("删除成功!");
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

}

java 流的分类
这里写图片描述

演示:使用FileInputStream类读取文本文件

public static void main(String[] args) throws IOException {
    //1,创建输入,输出流对象
    FileInputStream input = new FileInputStream("D:/myDoc/myTest.txt");
    FileOutputStream out = new FileOutputStream("D:/myDoc/myTest1.txt");
    //2.定义一个缓冲区,告诉程序一次性度多少。
    byte[] datas = new byte[1024];
    while(input.read()!=-1){
        input.read(datas);//读进缓冲区
        out.write(datas);//从缓冲区写入到文件当中
    }
    input.close();//关闭管道,输入流
    out.close();//关闭管道,输出流
    System.out.println("拷贝成功");
}

使用字符流读写文件(演示)

public static void main(String[] args) {
        //创建 fileReader 对象
        Reader fReader = null;
        Writer writer = null;
        StringBuffer sbf = new StringBuffer();
        try {
            fReader = new FileReader("D:\\myDoc\\aa.txt");
            writer = new FileWriter("D:\\myDoc\\bb.txt");
            char ch[] = new char[1024];//创建缓冲区,字符数组。
            int length = fReader.read(ch);  //将字符读入数组
             //循环读取并追加字符
            while (length!=-1) {
                sbf.append(ch);//追加到字符串
                length = fReader.read(ch);//改变循环条件
            }
            String  wString = sbf.toString().replace("{name}", "哮天犬").replace("{type}", "神犬").replace("{master}", "二郎神");//替换文字
            System.out.println(wString);
            writer.write(wString);
            writer.flush();  //刷新缓冲区
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }finally{
            try {
                fReader.close();//关闭流
                writer.close();//关闭
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

使用 BufferedReader 读文本文件

public static void main(String[] args) {
        FileReader fReader = null;
        FileWriter fileWriter = null;
        BufferedWriter bWriter = null;
        BufferedReader bReader = null;
        try {
            //创建一个FileReader 对象
            fReader = new FileReader("D:\\myDoc\\aa.txt");
            //创建一个BufferedReader 对象
            bReader = new BufferedReader(fReader);
            //读取一行数据
            String lineString = bReader.readLine();
            fileWriter = new FileWriter("D:\\myDoc\\bb.txt");
            bWriter = new BufferedWriter(fileWriter);
            StringBuffer sBuffer = new StringBuffer();
            while (lineString!=null) {
                sBuffer.append(lineString);
                bWriter.write(lineString);//写一行
                bWriter.newLine();//换行
                lineString = bReader.readLine();//读一行
            }
            bWriter.flush();//清空缓冲区,将数据写出
            System.out.println(sBuffer);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }finally{
            try {
                bReader.close();
                fReader.close();
                bWriter.close();
                fileWriter.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

DataInputStream演示

public static void main(String[] args) {
        DataInputStream dis = null;
        DataOutputStream out =null;
        try {
              //创建输出流对象
                FileInputStream fis = new FileInputStream("D:\\myDoc\\FileCopy.class");
              dis = new DataInputStream(fis);
              //创建输入流对象
              FileOutputStream outFile = new FileOutputStream("D:\\myDoc\\temp.class");
              out = new DataOutputStream(outFile);
              int temp;
              //读取文件并写入文件
              while ( (temp = dis.read()) != -1) {
                out.write(temp);
              }
            }catch (IOException ioe) {
              ioe.printStackTrace();
            }finally{
                try{
                       if(dis!=null)
                           dis.close();
                       if(out!=null)
                           out.close();
                   }catch(IOException ex){
                        ex.printStackTrace();
                   }
            }
       }

以上是java当中针对文件读写进行操作,所需要用到的常用类。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值