• javaIO(二)


    在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据时要使用输入流读取数据,而当程序需要将一些数据保存起来时,就要使用输出流。

    在java.io包中流的操作主要有字节流、字符流两大类,两类都有输入和输出操作。

    在字节流中输出数据主要使用OutputStream类完成,输入使用的是InputStream类。

    在字符流中输出主要使用Writer类完成,输入主要使用Reader类完成。

    1、字节输出流

     1 import java.io.File;
     2 import java.io.FileOutputStream;
     3 import java.io.OutputStream;
     4 
     5 public class FileDemo{
     6     public static void main(String[] args) throws Exception
     7     {
     8         String path="G:"+File.separator+"javaExercise"+File.separator+"test.txt";
     9         File f=new File(path);
    10         
    11         OutputStream out=null;
    12         out =new FileOutputStream(f);
    13         String str="Hello World";
    14         byte b[]=str.getBytes();
    15         
    16         out.write(b);
    17         out.close();
    18     }
    19 }

    2、字节输入流

     1 import java.io.File;
     2 import java.io.FileInputStream;
     3 import java.io.InputStream;
     4 
     5 public class FileDemo{
     6     public static void main(String[] args) throws Exception
     7     {
     8         String path="G:"+File.separator+"javaExercise"+File.separator+"test.txt";
     9         File f=new File(path);
    10         
    11         InputStream input=null;
    12         input =new FileInputStream(f);
    13     
    14         byte b[]=new byte[1024];
    15         
    16         input.read(b);
    17         
    18         System.out.println("内容为:    "+new String(b));
    19         input.close();
    20     }
    21 }

    3、字符输出流

     1 import java.io.File;
     2 import java.io.FileWriter;
     3 import java.io.Writer;
     4 
     5 public class FileDemo{
     6     public static void main(String[] args) throws Exception
     7     {
     8         String path="G:"+File.separator+"javaExercise"+File.separator+"test1.txt";
     9         File f=new File(path);    
    10         Writer out=null;
    11         out =new FileWriter(f);
    12         String str="hello world";    
    13         out.write(str);
    14         out.close();
    15     }
    16 }

    整个程序与OutputStream的操作流程并没有太大区别,唯一的好处是,可以直接输出字符串,而不用将字符串变为byte数组后再输出。

    4、字符输入流

     1 import java.io.File;
     2 import java.io.FileReader;
     3 import java.io.Reader;
     4 
     5 public class FileDemo{
     6     public static void main(String[] args) throws Exception
     7     {
     8         String path="G:"+File.separator+"javaExercise"+File.separator+"test1.txt";
     9         File f=new File(path);    
    10         Reader reader=null;
    11         reader=new FileReader(f);
    12         char c[]=new char[1024];
    13         int len=reader.read(c);
    14         reader.close();
    15         System.out.println("内容为:    "+new String(c,0,len));
    16     }
    17 }
  • 相关阅读:
    通过反射实现IOC功能
    数据访问模式之Repository模式
    .NET自带IOC容器MEF之初体验
    权限管理系统进入关键的开发阶段
    待销售分拣单App数据推送
    做一个自己的权限管理系统
    linux tar 命令 --致力于“一眼看懂,随手就用”的随笔
    python 简单实现文件拷贝
    实验比较python中的range和xrange
    安装 chardet ,出现ImportError: No module named setuptools
  • 原文地址:https://www.cnblogs.com/xh0102/p/5708245.html
Copyright © 2020-2023  润新知