码迷,mamicode.com
首页 > 编程语言 > 详细

Java学习

时间:2021-01-14 11:06:33      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:形参   视频   获取   ring   路径   output   多层   stream   中文   

IO流

File类

1. java.mkdir 不可以创建多层文件夹
    java.mkdirs 可以创建多层文件夹

    File file1=new File("G:\\MyCode")
2. 相对路径 与 绝对路径
    file.getPath()
    file.getAbusolutePath();
3 获取文件夹下的所有PNG文件
    File fileTest=new File("C:\\Users\\han\\Pictures\\图片数据库");
        String[] strings=fileTest.list();
        for(String s:strings){
            if(s.endsWith(".PNG")){
                System.out.println(s);
            }
        }
        File[] listFile=fileTest.listFiles();
        for (File file:listFile){
            String name=file.getName();
            if(name.endsWith(".PNG"))
            {
                System.out.println(file.getAbsolutePath());
            }
        }

IO流

1 输入输出流(相对于本程序来说的)
    输入(read)
    输出(write)
2 内容
    字节 图片 音频 视频 字节数据(解码)
        字节输出流:OutputStream
        字节输入流:InputStream
    字符 abcd
        输入 Reader
        输出 Writer
3 输出一个"hello"到文件 用字符输出流
    Writer
4 FileOutputStream
    1)FileOutputStream(File file)
    创建文件输出流以写入由指定的 File对象表示的文件。
    2)FileOutputStream(File file, boolean append)
    创建文件输出流以写入由指定的 File对象表示的文件。
    3)FileOutputStream(FileDescriptor fdObj)
    创建文件输出流以写入指定的文件描述符,表示与文件系统中实际文件的现有连接。
    4)FileOutputStream(String name)
    创建文件输出流以指定的名称写入文件。
    5)FileOutputStream(String name, boolean append)
    创建文件输出流以指定的名称写入文件。
    public class IOtest {
    //创建刘对象
    public static void main(String[] args) throws Exception {
        File file;
        //创建文件输出流
        FileOutputStream fos=new FileOutputStream("testIO.txt");

        String str="我是韩文硕";
        //转换为数据字节流
        byte[] bytes=str.getBytes();
        //输出病关闭
        fos.write(bytes);
        fos.close();

    }
}

5 read一次读一个 会出现中文乱码
6 bufferedInputStream
    搞一辆车 一次拉好多
    public class testBufferedInputStream {
    public static void main(String[] args) {
        //0.水龙头工厂 将fileinputstream转化为inputstream
        InputStream in= null;
        try {
            in = new FileInputStream("testIO.txt");
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        //1.创建水龙头 形参是inputstream
        BufferedInputStream bis=new BufferedInputStream(in);
        //2.开水龙头 创建车辆 每次装1024瓶水 最后一车并不会装满
        byte[] car=new byte[1024];
        int len=0;
        try {
            while((len=bis.read(car))!=-1){
                System.out.println(len);
            }
            bis.close();
            in.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        //关龙头


        try {
            OutputStream os=new FileOutputStream("testIO.txt");
            BufferedOutputStream  bos=new BufferedOutputStream(os);
            String s="我是韩文硕我是韩文硕我是韩文硕我是韩文硕我是韩文硕我是韩文硕我是韩文硕我是韩文硕我是韩文硕" +
                    "我是韩文硕我是韩文硕我是韩文硕我是韩文硕我是韩文硕我是韩文硕我是韩文硕我是韩文硕我是韩文硕我是韩文硕" +
                    "我是韩文硕我是韩文硕我是韩文硕我是韩文硕我是韩文硕我是韩文硕";
            bos.write(s.getBytes());
            //字符串直接使用bos.write(s.getBytes());

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }

    }
}

Java学习

标签:形参   视频   获取   ring   路径   output   多层   stream   中文   

原文地址:https://www.cnblogs.com/AIxuexiH/p/14272673.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有
迷上了代码!