【学习笔记】java IO流编程1

内容:

IO的概念

输入/输出的定义

字节和字符

数据源头

文件对象

字节输入输出流体系

低级流与高级流

字符输入输出流体系
注意:
1. 参 照物全部针对程序!
 
字符和字节
1. Java采用unicode编码,每个字符占2个字节
2. 不同的编码集,同一个字符,编码可能不一样
 
获取文件的基本消息:
package com.study1;



import java.io.File;



public class IoPreject {

    public static void main(String[] args){

        File file = new File("C:\\Users\\hlwyf_000\\Desktop\\test.txt");

        //File file = new File("‪C:\\Users\\hlwyf_000\\Desktop\\test.txt");

        System.out.println(file.canRead());

        System.out.println(file.canWrite());

        

        System.out.println("文件路径:" + file.getAbsolutePath());

        System.out.println("文件名称:" + file.getName());

        System.out.println("文件大小:" + file.length());

        System.out.println("是否是文件夹:" + file.isDirectory());

        System.out.println("是否是文件:" + file.isFile());

        System.out.println("是否存在:" + file.exists());

    }

}

 

文件的创建和删除:

package com.study1;



import java.io.File;

import java.io.IOException;



public class IoPreject {

    public static void main(String[] args){

        //IoPreject.ReadFileImformation(); //读取文件信息

        //IoPreject.CreateFile(); //创建文件

        IoPreject.DeleteFile(); //删除文件

    }



    private static void DeleteFile() {

        File file = new File("C:\\Users\\hlwyf_000\\Desktop\\test.txt");

        if (file.exists() == true){

            file.delete();

        }

    }



    private static void CreateFile() {

        File file = new File("C:\\Users\\hlwyf_000\\Desktop\\test.txt");

        if (file.exists() == false){

            try {

                file.createNewFile();

            } catch (IOException e) {

                e.printStackTrace();//无法创建的时候抛出异常

            }

        }

    }



    private static void ReadFileImformation() {

        File file = new File("C:\\Users\\hlwyf_000\\Desktop\\test.txt");

        //File file = new File("‪C:\\Users\\hlwyf_000\\Desktop\\test.txt");

        System.out.println(file.canRead());

        System.out.println(file.canWrite());

        

        System.out.println("文件路径:" + file.getAbsolutePath());

        System.out.println("文件名称:" + file.getName());

        System.out.println("文件大小:" + file.length());

        System.out.println("是否是文件夹:" + file.isDirectory());

        System.out.println("是否是文件:" + file.isFile());

        System.out.println("是否存在:" + file.exists());

    }

}

 

文件夹的创建和删除:

package com.study1;



import java.io.File;



public class Drs {

    public static void main(String[] args){

        Drs.CreateFolder();

        //Drs.DeleteDolder();

    }



    private static void CreateFolder() {

        File file = new File("C:\\Users\\hlwyf_000\\Desktop\\NEW");

        if (file.exists() == false){

            file.mkdir(); //这里面只能创建一个一级目录

        }

    }

    

    private static void DeleteDolder() {

        

    }



}

如果同时创建一个多级文件夹,需要用到 .mkdirs();

package com.study1;



import java.io.File;



public class Drs {

    public static void main(String[] args){

        Drs.CreateFolder();

        //Drs.DeleteDolder();

    }



    private static void CreateFolder() {

        File file = new File("C:\\Users\\hlwyf_000\\Desktop\\NEW\\abc\\123");

        if (file.exists() == false){

            file.mkdirs(); //这里面可以创建一个多级目录

        }

    }

    

    private static void DeleteDolder() {

        

    }



}

文件夹删除:

private static void DeleteDolder() {

        File file = new File("C:\\Users\\hlwyf_000\\Desktop\\NEW\\abc\\123");

        if (file.isDirectory() == true){

            file.delete();

        }

    }

 

文件夹内文件名读取:

package com.study1;



import java.io.File;



public class ListFile {

    public static void main(String[] args){

        ListFile.getFileName();

    }



    private static void getFileName() {

        File file = new File("E:\\java");

        File[] fileArray = file.listFiles();

        for (int i = 0; i < fileArray.length; i++){

            File tempfile = fileArray[i];

            System.out.println(tempfile.getName());

        }

    }

}
java学习进程整理说明.txt

第10章 

第11章 

第12章 

第13章 

第1章 

第2章 

第3章

第4章 

第5章

第6章 

第7章 

第8章 

第9章

 

限制名称:

private static void chooseFileName() {

        File file = new File("E:\\Java学习_软件杯\\java");

        File[] fileArray = file.listFiles(

                new FileFilter(){ // 控制查找范围

                    //通过这种方式实现这个接口

                    public boolean accept(File pathname){ //查看文档,有accept方法

                        if (pathname.getName().endsWith("txt")){

                            return true;

                        }

                        return false;

                    }

                });//注意这里面的括号,也就是说可以直接在括号里面写入函数方法

        

        for (int i = 0; i < fileArray.length; i++){

            File tempfile = fileArray[i];

            System.out.println(tempfile.getName());

        }

    }

结果仅显示名称最后包括 txt的文件名.

 

文件读取与写入:

InputStream类的体系结构

 

 

 

 

OutputStream类的体系结构

 

 

 

输入输出的对应关系

 

 

 

代码:

package com.study2;



import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.io.InputStream;



public class Input {

    public static void main(String[] args){

        File file = new File("C:\\Users\\hlwyf_000\\Desktop\\test.txt");

        InputStream inputstream = null;

        try {

            inputstream = new FileInputStream(file);

            try {

                System.out.println(inputstream.available());

                System.out.println((char)inputstream.read());

                System.out.println((char)inputstream.read());

                System.out.println(inputstream.available());

            } catch (IOException e) {

                

                e.printStackTrace();

            }

        } catch (FileNotFoundException e) {

            

            e.printStackTrace();

        }

    }

}

运行结果:

15

H

e

13

修改一下:

package com.study2;



import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.io.InputStream;



public class Input {

    public static void main(String[] args){

        File file = new File("C:\\Users\\hlwyf_000\\Desktop\\test.txt");

        InputStream inputstream = null;

        try {

            inputstream = new FileInputStream(file);

            try {

                System.out.println(inputstream.available()); //输出15

                int temp = inputstream.available();

                for (int i = 0; i < temp; i++){//输出Hello World

                    System.out.print((char)inputstream.read());

                }

                System.out.println(inputstream.available()); //输出0

            } catch (IOException e) {

                

                e.printStackTrace();

            }

        } catch (FileNotFoundException e) {

            

            e.printStackTrace();

        }

    }

}

运行结果:

15

Hello World! 

0

 注意:这里只能读取 非中文的

 
 

你可能感兴趣的:(java io)