zoukankan      html  css  js  c++  java
  • java基础讲解14-----IO

    package com.io;

    import java.io.File;
    import java.io.IOException;

    public class IoClass {
        
        /**
         * 1.什么是流?
         *         流是一组有序的数据序列,根据操作类型可以分为 输入流/输出流两种
         *         流提供了一条通道程序,可以使用这条通道把源种的字节序列送到目的地
         *
         * java由数据流处理输入/输出模式,程序从指向源的输入流种读取源种数据。源可以是文件,网络,压缩包等
         *
         * 输出流 指的是数据要到达的目的地,程序通过 向 输出流种写入数据,把数据信息传递到目的地。  输出流的目的  文件,网络,压缩包
         *
         *
         * 2.输入流     InputStream  字节输入流的抽象类,是所有的字节输入流的父类
         *
         * 3.输出流     OutStream   字节输入流的抽象类
         *
         *  4.File类
         *      File类是唯一代表磁盘文件本身的对象,通过File类里面的方法,实现创建,删除,重命名等操作。
         *  
         *  
         *
         *
         */
        
        public static void main(String[] args) {
            
                //文件的删除
                File file=new File("gg.txt");  //默认是在项目的根目录下面
                if(file.exists())  
                {
                    file.delete();
                    System.out.println("如果有了文件,就删除");
                }else
                {
                    try {
                        file.createNewFile();
                        System.out.println("文件已经创建");
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
                
        }
        
        

    }

    2.文件的读取

    package com.io;

    import java.io.File;

    /**
     * 文件的读取
     * @author chb
     *
     */
    public class FileTest {
        
            public static void main(String[] args) {
                
                File  file=new File("gg.txt");
                
                if(file.exists())
                {
                    String name=file.getName();
                    System.out.println("文件的文字: "+name);
                    
                    boolean hidden=file.isHidden();
                    System.out.println("是否是可以读文件:"+hidden);
                }else
                {
                    System.out.println("没有该文件");
                }
            }

    }
     
    3.            //写入数据       //读取数据

    package com.io;

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

    public class FileOutput {
        
        public static void main(String[] args) {
            
                    /**
                     * FileOutputStream为什么使用output输出流 来写入?
                     *
                     * 因为输出流指向的是数据要到达的目的地,程序通过向输出流中写 入数据  才可以传递到目的地。
                     */
                //写入数据
                    File file=new File("gg.txt");  //创建文件对象
                    
                    //创建输出流对象
                    try {
                        FileOutputStream out=new FileOutputStream(file);
                        //创建数组
                        byte bu[]="我爱你,爱着你,就像老鼠爱大米".getBytes();
                        out.write(bu);   //将数组中的信息写入到文件中
                        out.close();  //关闭流
                    } catch (Exception e) {
                        System.out.println("失败");
                        e.printStackTrace();
                    }
                    
                /****************************************************************/
                    
                //读取数据
                    try {
                        
                        //创建输入流对象
                        FileInputStream input=new FileInputStream(file);
                        
                        byte b[]=new byte[1024];
                        
                        int len=input.read(b);
                        
                        //将文件中的信息输出
                        System.out.println("文件的信息是:"+ new String(b,0,len));
                        input.close();
                        
                    } catch (Exception e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    
        
        }

    }

    4.FileReader   /  FileWriter


        /**
         * 1.为什么使用FileReader  FileWrite
         *
         *         使用FileOutputStream类向文件中写入数据,使用FileInputStream从文件中读取内容,缺点就是,这两个类,
         *         只提供对字节或者字节数组的读取方法,有时候会出现乱码
         *        
         *        所以使用FileReader/FileWrite  字符流
         *         
         *
         *
         *
         */

     package com.io;

    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;

    public class Student {
        
            /**
             * 创建带缓存的io
             *
             */
        
        public static void main(String[] args) {
            
            //**********************写入*******************************
                String s[]={"你好","我不好","我真的不好"};
                
                File file=new File("gg2.txt");
                
                try {
                    FileWriter fw=new FileWriter(file);
                    //创建BufferedWrier对象
                    BufferedWriter bw=new BufferedWriter(fw);
                    
                    for(int i=0;i<s.length;i++)
                    {
                        bw.write(s[i]);//把内容添加到 BufferedWriter
                        bw.newLine();    //将数组中的单个元素一单行的形式写入文件
                        
                    }
                    
                    bw.close();fw.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                
                
                //**********************读取*******************************
                
                try {
                    FileReader fr=new FileReader("gg2.txt");
                    //创建BufferedReader
                    BufferedReader br=new BufferedReader(fr);
                    
                    String str=null;
                    int i=0;
                    
                    //如果文件中的文本行数不为null,则开始循环
                    while((str=br.readLine())!=null)
                    {
                        i++;//将变量加加  
                        System.out.println("第一行:"+i+"  行"+str);
                    }
                    br.close();fr.close();
                } catch ( Exception e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            
        }

    }

  • 相关阅读:
    进程 触发器
    关于 if条件 光标 循环的综合应用
    3-15记录
    day3.python 学习之列表
    day2: python3.5学习——逻辑判断
    day1: python3.5学习
    OpenGL_曲线函数
    OpenGL_赛平斯基垫片
    【quick-cocos2d-x 游戏开发之一】开发工具sublime text及其强力插件QuickXDev
    Python正则表达式指南
  • 原文地址:https://www.cnblogs.com/qq3111901846/p/6722818.html
Copyright © 2011-2022 走看看