Java简单文件读写

来源:互联网 发布:python 安卓 编辑:程序博客网 时间:2024/05/19 11:48
文件读写使用文件输入输出流类:FileInputStream(路径/文件名)【输入流,读文件】FileOutputStream(路径\文件名)【输出流,写文件】
写文件三部:
    1.创建一个空白文件
    2.获取字节数据,例如键盘输入
1
//BufferedOutputStream的作用是将字节数据保存到缓冲区,可以提高效率
2
BufferedOutputStream buff=new BufferedOutputStream(System.in);//定义一个缓冲输入流对象,其内容来源于键盘
    3.写入数据
下面是两个方法,分别用来读取文件和写入文件
读取文件
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
    }





















原创粉丝点击