File的构造方式1:

    public static void main(String[] args) throws Exception {
    File file1 = new File(“T:” + File.separator + “2020年春逆战” + File.separator + “第一周-IO、多线程、网络通信\\1-IO-1\\test.txt”);
    Syste_m.e_rr.println(file1);
    }
    输出:T:\2020年春逆战\第一周-IO、多线程、网络通信\1-IO-1\test.txt

    注意:不存在的文件也不会报错,前提是不进行读写操作的时候。

    public static void main(String[] args) {
    File file = new File(“T:\\2020年春逆战\\第一周-IO、多线程、网络通信\\1-IO-1”);
    File file1 = new File(file, “test.txt”);
    Syst_em._err.println(file1);
    }

    第三个:

    public static void main(String[] args) {
    File file1 = new File(“T:\\2020年春逆战\\第一周-IO、多线程、网络通信\\1-IO-1”, “test.txt”);
    Syste_m.e_rr.println(file1);
    }

    InputStream读取文件

    public static void main(String[] args) throws Exception {
    File file1 = new File(“T:” + File.separator + “2020年春逆战” + File.separator + “第一周-IO、多线程、网络通信\\1-IO-1”, “test.txt”);
    InputStream inputStream=new FileInputStream(file1);
    byte[] bytes=new byte[1024];// 开辟一个1024长度的字节数组,拿来存读取的数据
    int read = inputStream.read(bytes);// 把读到的字节数据,存到数组中,得到实际读取到的字节数
    Sy_ste_m.err.println(read);
    S_yst_em.err.println(new String(bytes,0,read));// 生成字符串
    }

    OutputStream输出文件

    public static void main(String[] args) throws Exception {
    File file1 = new File(“T:” + File.separator + “2020年春逆战” + File.separator + “第一周-IO、多线程、网络通信\\1-IO-1”, “test.txt”);
    FileOutputStream fileOutputStream = new FileOutputStream(file1, true);//追加内容
    String s = “各位帅哥,早上好2!”;
    fileOutputStream.write(s.getBytes());
    }

    文件字符输入流:

    public static void main(String[] args) throws Exception {
    File file1 = new File(“T:” + File.separator + “2020年春逆战” + File.separator + “第一周-IO、多线程、网络通信\\1-IO-1”, “test.txt”);
    Reader reader = new FileReader(file1);
    int read = reader.read();// 这个是字符对应的数字
    char c = (char) read;
    Sy_ste_m.err.println(c);

    }

    FileWriter

    public static void main(String[] args) throws Exception {
    File file1 = new File(“T:” + File.separator + “2020年春逆战” + File.separator + “第一周-IO、多线程、网络通信\\1-IO-1”, “test.txt”);
    Reader reader = new FileReader(file1);
    int read = reader.read();// 这个是字符对应的数字
    char c = (char) read;
    Sy_ste_m.err.println(c);
    reader.close();
    Writer writer = new FileWriter(file1);
    writer.append(“R闪”);
    writer.flush();
    writer.close();
    }

    文件的复制

    public static boolean copy(File originFile) throws Exception {
    if (originFile == null) {
    throw new Exception(“源文件不能为空!”);
    }
    String newFileName = originFile.getName().substring(0, originFile.getName().lastIndexOf(“.”)) + “-副本” + originFile.getName().substring(originFile.getName().lastIndexOf(“.”));
    File newFile = new File(originFile.getParent(), newFileName);
    FileInputStream fileInputStream = new FileInputStream(originFile);
    FileOutputStream fileOutputStream = new FileOutputStream(newFile);
    byte[] bytes = new byte[1024];
    while (-1 != fileInputStream.read(bytes)) {
    fileOutputStream.write(bytes);
    }
    return true;
    }

    输入转换流:

    public static void main(String[] args) throws Exception {
    File file1 = new File(“T:” + File.separator + “2020年春逆战” + File.separator + “第一周-IO、多线程、网络通信\\1-IO-1”, “test.txt”);

    InputStream inputStream = new FileInputStream(file1);
    InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
    char[] chars = new char[1024];
    inputStreamReader.read(chars);
    _Sys_tem.err.println(new String(chars));
    }

    输出转换流:

    public static void main(String[] args) throws Exception {
    File file1 = new File(“T:” + File.separator + “2020年春逆战” + File.separator + “第一周-IO、多线程、网络通信\\1-IO-1”, “test.txt”);
    OutputStream outputStream = new FileOutputStream(file1);
    OutputStreamWriter outputStreamWriter = new OutputStreamWriter(outputStream);
    outputStreamWriter.write(“我让你追,追到就让你嘿嘿嘿!”);
    outputStreamWriter.close();
    }

    缓冲流的标记和重读

    public static void main(String[] args) throws Exception {
    File file1 = new File(“T:” + File.separator + “2020年春逆战” + File.separator + “第一周-IO、多线程、网络通信\\1-IO-1”, “test.txt”);
    InputStream inputStream = new FileInputStream(file1);
    BufferedInputStream bufferedInputStream = new BufferedInputStream(inputStream);

    byte[] bytes = new byte[10];
    int len= bufferedInputStream.read(bytes);
    Sys_tem.err.println(new String(bytes,0,len));

    bufferedInputStream.mark(99);

    byte[] bytes2 = new byte[10];
    int len2= bufferedInputStream.read(bytes2)
    ;
    System.err.println(new String(bytes2,0,len2));

    bufferedInputStream.reset();

    byte[] bytes3 = new byte[10];
    int len3= bufferedInputStream.read(b_yte_s3);
    System.err.println(new String(bytes3,0
    ,le_n3));
    System.err.println(bufferedInputStream.markSupported());
    }

    缓冲输出流

    public static void main(String[] args) throws Exception {
    File file1 = new File(“T:” + File.separator + “2020年春逆战” + File.separator + “第一周-IO、多线程、网络通信\\1-IO-1”, “test.txt”);
    OutputStream outputStream = new FileOutputStream(file1);
    BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(outputStream);
    bufferedOutputStream.write(“我”.getBytes());// 输出单个字符
    bufferedOutputStream.close();
    }

    字符缓冲输入流

    public static void main(String[] args) throws Exception {
    File file1 = new File(“T:” + File.separator + “2020年春逆战” + File.separator + “第一周-IO、多线程、网络通信\\1-IO-1”, “test.txt”);
    FileReader fileReader = new FileReader(file1);
    BufferedReader bufferedReader = new BufferedReader(fileReader);
    String s = bufferedReader.readLine();
    Sy_ste_m.err.println(s);
    }

    字符缓冲输出流

    public static void main(String[] args) throws Exception {
    File file1 = new File(“T:” + File.separator + “2020年春逆战” + File.separator + “第一周-IO、多线程、网络通信\\1-IO-1”, “test.txt”);
    FileWriter fileWriter = new FileWriter(file1);
    BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
    bufferedWriter.append(“今天天气很好,但是我还是不会出去浪”);
    bufferedWriter.flush();// 刷新缓冲区
    bufferedWriter.close();
    }