Java简单文件读写

文件读写使用文件输入输出流类:FileInputStream(路径/文件名)【输入流,读文件】FileOutputStream(路径\文件名)【输出流,写文件】
写文件三部:
    1.创建一个空白文件
1
FileOutputStream fileOut=new FileOutputStream("D:\\hello.text");
    2.获取字节数据,例如键盘输入
1
//BufferedOutputStream的作用是将字节数据保存到缓冲区,可以提高效率
2
BufferedOutputStream buff=new BufferedOutputStream(System.in);//定义一个缓冲输入流对象,其内容来源于键盘
    3.写入数据
1
//不能直接使用buff对象进行写入,必须先将buff中的内容转换成字节数组中,再将字节数组的数据写入到文件中
2
byte[] b=new byte[1024];//定义一个字节数组
3
buff.read(b);//将buff中的数据存入到字节数组中
4
fileOut.write(b);//将字节数组存入文件中。
5
下面是两个方法,分别用来读取文件和写入文件
读取文件
1
    /**
2
     * 读文件
3
     * @param name 文件所在的地址和文件名字
4
     * @return  一个输入缓冲流
5
     */
6
    public static BufferedInputStream xwj(String name){
7
        FileInputStream fileIn=null;
8
        BufferedInputStream buff = null;
9
        try {
10
            fileIn = new FileInputStream(name);
11
            buff=new BufferedInputStream(fileIn);
12
        } catch (FileNotFoundException e) {
13
            System.out.println("文件读取时异常");
14
            e.printStackTrace();
15
        }
16
        System.out.println("文件读取完成");
17
        return buff;
18
    }

文件写入
1
/**
2
     * 写文件
3
     * @param name  要创建的文件的位置和名字
4
     * @param buff  一个输入缓冲流
5
     * @throws IOException
6
     */
7
    public static void xwj(String name,BufferedInputStream buff){
8
        //BufferedInputStream buff=new BufferedInputStream(System.in);//定义一个键盘输入流
9
        
10
        FileOutputStream fileOut = null;
11
        try {
12
            fileOut = new FileOutputStream(name);//在指定地址创建一个指定文件名的文件
13
        }catch (FileNotFoundException e) {
14
            System.out.println("文件创建时异常");
15
            e.printStackTrace();
16
        } 
17
        
18
        byte[] buffb=new byte[1024];    //定义一个字节数组用于接受键盘输入的值
19
        int i1=0;
20
        
21
        do{
22
            try {
23
                i1=buff.read(buffb);//将输入缓冲流中的字节数据存储到字节数组中
24
            } catch (IOException e) {
25
                System.out.println("将输入缓冲流存储到字节数组时异常");
26
                e.printStackTrace();
27
            }
28
            
29
            if(i1>=0){  
30
                try {
31
                    fileOut.write(buffb,0,i1);  //将字节数组写入文件中
32
                }catch (IOException e) {
33
                    System.out.println("文件写入时异常");
34
                    e.printStackTrace();
35
                }       
36
            }   
37
        }while(i1>=0);
38
        
39
        System.out.println("写入完成");
40
        buff.flush();//清空缓冲流
41
        buff.close();//关闭缓冲输出流,同时关闭文件
42
    }





















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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值