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

Java基础之IO

时间:2015-02-13 17:59:37      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:

前两天学些了一些IO操作的知识,今天重点整理一下,省的以后忘记了

    • 控制台类型的IO操作:
      一般类型读数据:Sacnner in=new Sacnner(System.in);  String name=in.nextLine()/nextInt()/next();
      密码类型读操作:Console cons=System.console(); String name=cons.readLine("username");
            Char[]   pass=cons.readPassword("Password");
      写操作:System.out.println(String);
    • FileReader和FileWriter:
       大致流程如下:FileWriter is=new FileWriter("F:\\work\\js.txt");
                               js.write("我累了");//写入操作,此时在内存中
                               js.flush();//刷新流,执行此操作后写入文件,执行关闭会自动执行此操作
                              js.close();//关闭流
      严格的写法如下:FileWriter js=null;
          try
          {
           js=new FileWriter("F:\\work\\JAVAEXER\\jsky.txt",true);//true代表是增加而不是覆盖文本
           js.write("\r\n上班时间是不准睡觉的");
          }
          catch (Exception e)
          {
          System.out.println("内容写入失败啦");
          }
          finally
        {
             try
             {
         if(js!=null)js.close();
             }
             catch (Exception e)
             {
           System.out.println("关闭失败");
             }
          }
      对应的读操作如下:FileReader jj=null;
         try
         {
        jj=new FileReader("F:\\work\\JAVAEXER\\jsky.txt");
        int ss;
        char[] msg=new char[1024];
        while((ss=jj.read(msg))!=-1)
         System.out.println(new String(msg,0,ss));
            System.out.println("读取完毕");
         }
         catch (Exception e)
         {
           System.out.println("找不到文件或读取时发生错误");
         }
         finally
        {
           try
           {
         if(jj!=null)jj.close();
           }
           catch (Exception e)
           {
         System.out.println("关闭时发生错误");
           }
         }
    • BufferReader和BufferWriter:
      缓冲区是为了提高流的操作效率出现的,所以在创建缓冲区之前必须要先有流对象。它是在流的基础上对流的功能的增强。
      BufferWriter的操作步骤:
             FileWriter fw=null;
          BufferedWriter bw=null;
          String fs="F:\\work\\JAVAEXER\\jsky.txt";
          try
          {
         fw=new FileWriter(fs);
         bw=new BufferedWriter(fw);
         bw.write("\n又是新的一周");
         bw.flush();
          }
          catch (Exception e)
          {
           System.out.println("找不到文件或者文件写入错误");
          }
          finally
        {
             try
             {
         if(bw!=null)bw.close();
         if(fw!=null)fw.close();
             }
             catch (Exception e)
             {
           System.out.println("关闭时错误");
             }    }
         BufferedReader操作:
                FileReader fr=null;
         BufferedReader br=null;
         String fs="F:\\work\\JAVAEXER\\jsky.txt";
         try
         {
        fr=new FileReader(fs);
        br=new BufferedReader(fr);
        String js=null;
        while((js=br.readLine())!=null)System.out.println(js);
         }
         catch (FileNotFoundException e)
         {
           System.out.println("文件没有找到!"+e.toString());
         }
         catch(IOException e){
          System.out.println("文件读取发生错误"+e.toString());}
         finally
        {
           try
           {
         if(br!=null)br.close();
         if(fr!=null)fr.close();
           }
           catch (Exception e)
           {
         System.out.println("关闭异常");
           }
         }
    • 对于非字符型的文件,我们应该使用相应的字节流进行读写操作:
      ///使用字节流实现对图片的拷贝
       public static void main(String[] args)
       {
       FileInputStream js=null;
       FileOutputStream sk=null;
        try
        {
        js=new FileInputStream("F:\\work\\temp\\java001.jpg");
    •   sk=new FileOutputStream("F:\\work\\temp\\java002.jpg");
        int ss=0;
        byte[] b=new byte[1024];
        while((ss=js.read(b))!=-1)sk.write(b,0,ss);
        System.out.println("拷贝完毕");
        }
        catch (Exception e)
        {
         System.out.println("打开错误或者写入错误");
        }
        finally
        {
         try
         {
        if(js!=null)js.close();
        if(sk!=null)sk.close();
         }
         catch (Exception e)
         {
          System.out.println("关闭失败");
         }
        }

Java基础之IO

标签:

原文地址:http://www.cnblogs.com/jsky/p/4290540.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!