java_IO_字节流

package filedemo;

import java.io.File;
import java.io.IOException;

/**
 * File类:   java.io
 *      file可以通过构造方法,将磁盘上的文件构建成Java程序运行时所能识别的对象,
 *      再通过文件对象的方法对文件或目录的属性进行操作
 */

public class FileDemo {
    public static void main(String[] args) throws IOException {
        //构建一个file的文件对象
        File file  = new File("F:\\text.txt");   //将硬盘上的文件构造成了Java中操作的File对象

        //判断
        System.out.println("判断文件或目录是否存在:"+file.exists());
        System.out.println("判断是否是文件:"+file.isFile());
        System.out.println("判断是否是目录:"+file.isDirectory());

        //创建文件
        if(!file.exists()){    //如果文件不存在
                file.createNewFile();     //创建一个内容为空的文件
                System.out.println("文件创建成功。。"); 
        }else{
                System.out.println("文件已存在。。");
        }

        //文件属性
        System.out.println("file:"+file);   //输出相对路径  重写了toString方法
        System.out.println("获取文件名:"+file.getName());
        System.out.println("文件长度:"+file.length());
        System.out.println("相对路径:"+file.getPath());
        System.out.println("绝对路径:"+file.getAbsolutePath());
                        //如果创建文件对象时写明磁盘路径,返回的是磁盘路径,否则输出项目路径

    /*  //删除
        if(file.delete()){
            System.out.println("文件已删除...");   //直接删除,不经过回收站,一旦删除不能恢复
        }*/

    }
}

这里写图片描述

package filedemo;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

/**
 * FileInputStream:
 *              对字节文件进行读取
 */
public class FileInputStreamDemo {
        public static void main(String[] args) throws IOException {
            String file="F:\\text.txt";
            //【1】创建文件输入流对象
            FileInputStream fis = new FileInputStream(file);
            //使用byte数组的方式
            byte [] buf = new byte[1024];   //创建一个byte类型的数组,长度1024
            fis.read(buf);   //开始读取字节文件
            System.out.println(new String(buf));   //   String中的构造方法可以byte数组构建成String类型的对象
        }

        public static void show(String file) throws IOException{
            //【1】创建一个文件对象
            FileInputStream fis = new FileInputStream(file);
            //【2】读取字节文件
            int len = 0;    //从第一个字节开始读取  读取到的数据Ascii
            while((len=fis.read())!=-1){   //如果文件中没有数据返回-1
                System.out.println((char)len);
            }
            fis.close();
        }
    }


package filedemo;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * FileOutputStream:
 *          
 *              写出文件
 * @author Administrator
 *
 *   特点:
 *              当磁盘上的文件不存在时,自动创建并写入内容
 */
public class FileOutputStreamDemo {
    public static void main(String[] args) throws IOException  {
        //【1】创建输出流文件对象
        FileOutputStream fos = new FileOutputStream("F:\\text.txt",true);  //true:内容进行追加
        //【2】写出文件
        String str = "phoebe是潭州第一美~";  
        byte [] by = str.getBytes();   //把String类型转为byte数组
        fos.write(by, 0, by.length);

        //【3】关流
        fos.close();
    }
}


package datademo;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * 操作基本数据类型
 *
 */
public class DataDemo {
    public static void main(String[] args) throws IOException {
        //创建要写出的文件对象
        FileOutputStream fos = new FileOutputStream("f:\\a.txt");
        //创建基本数据类型的处理流
        DataOutputStream dos = new DataOutputStream(fos);//需要创建一个文件对象才可以对文件内容的数据类型进行操作
        //写出
        dos.writeInt(22);
        dos.writeUTF("啦啦啦啦~");   //
        dos.writeDouble(99.9);
        //关闭
        dos.close();
        fos.close();
        System.out.println("写入完毕");

        System.out.println("==========================================");

        //读取
        DataInputStream dis = new DataInputStream(new FileInputStream("F:\\a.txt"));
        //读取(读取的顺序必须和写入的顺序完全一致)
        System.out.println(dis.readInt());
        System.out.println(dis.readUTF());
        System.out.println(dis.readDouble());
        //关闭
        dis.close();
        System.out.println("读取完毕");

    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值