JAVA ——文件

1.创建文件的三种方式

package com.File;

import java.io.File;

//创建文件的三种方式
public class FoundFile{

    public static void main(String[] args) {
        //在D盘下新建一个目录用作文件的学习  D:/JAVA_FILE/test.txt
        //根据路径得到一个文件对象
        File file1 = new File("D:\\JAVA_FILE\\test.txt");
        //根据文件的上层文件夹和该文件的名字得到一个文件对象
        File file2 = new File("D:\\JAVA_FILE","test.txt");
        //先根据文件夹路径得到文件对象,然后再得到其中的文件的文件对象
        File file = new File("D:\\JAVA_FILE");
        File file3 = new File(file, "test.txt");
    }
}

2.文件的常用操作

package com.File;

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

//文件操作:创建,删除,重命名,判断,获取
public class FileOperation {

    public static void main(String[] args) throws IOException {
        //创建功能1:创建一个新文件,如果有的话,就不创建了。
            //如果没有指定创建文件的路径的话,那么会在创建在项目路径下
            //如果路径不存在的话,那么会出现异常
        File file = new File("D:\\JAVA_FILE\\test1.txt");
        boolean rst = file.createNewFile();
        //创建功能2:创建一个新目录,如果有的话,就不创建了。
            //该方法不能创建多重文件夹
        File file1 = new File("D:\\JAVA_FILE\\aa");
        boolean rst1 = file1.mkdir();
        //创建功能3:创建多重文件夹
        File file2 = new File("D:\\JAVA_FILE\\bb\\bb");
        boolean rst2 = file2.mkdirs();

        //删除功能:可以删除文件或文件夹
            //删除文件
        File file3 = new File("D:\\JAVA_FILE\\test.txt");
        file3.delete();
            //删除文件夹:文件夹下不能有文件夹或文件
        File file4 = new File("D:\\JAVA_FILE\\aa");
        file4.delete();

        //重命名功能:可以给文件夹或文件重命名
            //文件重命名
        File file5 = new File("D:\\JAVA_FILE\\test1.txt");
        File file6 = new File("D:\\JAVA_FILE\\testRename.txt");
        file5.renameTo(file6);
            //文件夹重命名
        File file7 = new File("D:\\JAVA_FILE\\test");
        File file8 = new File("D:\\JAVA_FILE\\testRename");
        file7.renameTo(file8);

        //判断功能
            //判断是否是目录
        File file9 = new File("D:\\JAVA_FILE\\testRename");
        System.out.println(file9.isDirectory());
            //判断是否是文件
        System.out.println(file9.isFile());
            //判断是否存在
        File file10 = new File("D:\\JAVA_FILE\\abc");
        System.out.println(file10.exists());
            //判断可读
        System.out.println(file9.canRead());
            //判断可写
        System.out.println(file9.canWrite());
            //判断是否隐藏
        System.out.println(file9.isHidden());

        //获取功能
            //获取绝对路径
        System.out.println(file9.getAbsolutePath());
            //获取相对路径
        System.out.println(file9.getPath());
            //获取名称
        System.out.println(file9.getName());
            //获取长度,字节数
        System.out.println(file9.length());
            //获得最后一次修改时间
        System.out.println(file9.lastModified());
            //获得指定目录下所有的文件或文件夹的名称数组
        File file11 = new File("D:\\JAVA_FILE\\bb");
        String[]  list = file11.list();
        for(String list1 : list){
            System.out.println(list1);
        }
            //获得目录下所有文件或文件夹的File数组
        File[] list2 = file11.listFiles();
        for(File list3 : list2){
            System.out.println(list3.getAbsolutePath());
        }
    }
}

3.文件输出流

package com.File;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;

public class IoStream {

    public static void main(String[] args) throws Exception {
        File file = new File("D:\\JAVA_FILE\\IoStream\\01.txt");
        FileOutputStream fileOutputStream = new FileOutputStream(file);
        String hello = "hello java io";
        fileOutputStream.write(hello.getBytes());
        fileOutputStream.close();
    }
}

4.缓存流

package com.File;

import java.io.*;

//BufferedReader的子类
public class TestBufferedReader {

    public static void main(String[] args) throws IOException {
        File file = new File("D:\\JAVA_FILE\\testBufferedReader.txt");
        BufferedReader br = new BufferedReader(new FileReader(file)) ;
        String line;
        while ((line=br.readLine()) != null){
            System.out.println(line);
        }
        br.close();
    }
}

5.数据流

package com.File;

import java.io.*;

//数据输入输出流,以适当的方式把数据写入流中,或读出
//是inputstream和outputstream的子类
public class TestDateStream {

    public static void main(String[] args) throws Exception {
        File file = new File("D:\\JAVA_FILE\\testDateStream.txt");
        DataOutputStream dos = new DataOutputStream(new FileOutputStream(file));
        //写数据,8中数据类型
        dos.writeByte(100);
        dos.writeShort(101);
        dos.writeChar(102);
        dos.writeInt(103);
        dos.writeFloat(104);
        dos.writeDouble(105);
        dos.writeLong(106);
        dos.writeBoolean(true);
        dos.writeUTF("HELLO");

        dos.close();

        //读数据
        DataInputStream dis = new DataInputStream(new FileInputStream(file));
        byte b = dis.readByte();
        short s = dis.readShort();
        char c = dis.readChar();
        int i = dis.readInt();
        float f = dis.readFloat();
        double d = dis.readDouble();
        long l = dis.readLong();
        boolean bo = dis.readBoolean();
        String st = dis.readUTF();

        System.out.println(b+" "+s+" "+c+" "+i+" "+f+" "+d+" "+l+" "+bo+" "+st);
        dis.close();
    }
}
package com.File;


import java.io.*;

//BufferedReader的子类
public class TestLineNumberReader {

    public static void main(String[] args) throws IOException {
        File file = new File("D:\\JAVA_FILE\\testLineNumberReader.txt");
        LineNumberReader lnr = new LineNumberReader(new FileReader(file));
        String line;
        //设置行号
        lnr.setLineNumber(10);
        //得到行号
        while((line=lnr.readLine()) != null){
            System.out.println(lnr.getLineNumber()+ ":" + line);
        }
        lnr.close();
    }
}

7.内存流

package com.File;

import java.io.*;

//内存操作流
//其输入流有点鸡肋,不使用看也可以得到内存中的数据
public class TestMemoryStream {

    public static void main(String[] args) throws IOException {

           //操作字节
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
           baos.write("hello".getBytes());
           byte[] data = baos.toByteArray();
           System.out.println(new String(data));

           //操作字符
            CharArrayWriter caw = new CharArrayWriter();
            char[] chs = {'h','e','l','l','o'};
            caw.write(chs);
            char[] data1 = caw.toCharArray();
            System.out.println(data1);

            //字符串
            StringWriter sw = new StringWriter();
            sw.write("hello");
            String data2 =sw.toString();
            System.out.println(data2);

           baos.close();

    }

}

8.打印流

package com.File;

import javax.xml.crypto.Data;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintWriter;
import java.util.Date;

//打印流(字节打印流和字符打印流)
    //继承outputStream
public class TestPrintWriter {
    public static void main(String[] args) throws FileNotFoundException {

        File file = new File("D:\\JAVA_FILE\\testPrintWriter.txt");
        PrintWriter pw = new PrintWriter(new FileOutputStream(file));
        pw.write("hello");
        //特殊功能1: 可以打印所有的数据(包括引用),不会清空数据
        pw.println(1);
        pw.println(2.3);
        pw.println('a');
        pw.println("hh");
        pw.println(true);
        pw.println(new Date());
        pw.flush();
        pw.close();

        //特殊功能2:自动刷新
        PrintWriter pw1 = new PrintWriter(new FileOutputStream(file),true);
        pw.println(1);
        pw.println(2.3);
        pw.println('a');
        pw.println("hh");
        pw.println(true);
        pw.println(new Date());
        pw.flush();
        pw.close();
    }
}

完整代码:https://download.csdn.net/download/m0_45025658/12381633

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值