zoukankan      html  css  js  c++  java
  • IO---字符流

    字符流


    字符流=字节流+编码表(由字符及其对应的数值组成的一张表,各个国家的文字用数字来表示,并一一对应,形成一张表)
    

    常见编码表

    • ASCII/Unicode 字符集
    • ISO-8859-1
    • GB2312/GBK/GB18030
    • BIG5
    • UTF-8

    字符输入流

        public abstract class Reader implements Readable, Closeable
    
    • 方法
    abstract  void close()                              //关闭该流并释放与之关联的所有资源。 
    void mark(int readAheadLimit)                       //标记流中的当前位置。 
    boolean markSupported()                             //判断此流是否支持 mark() 操作。 
    int read()                                          //读取单个字符。 
    int read(char[] cbuf)                               //将字符读入数组。 
    abstract  int read(char[] cbuf, int off, int len)   //将字符读入数组的某一部分。 
    int read(CharBuffer target)                         //试图将字符读入指定的字符缓冲区。 
    boolean ready()                                     //判断是否准备读取此流。 
    void reset()                                        //重置该流。 
    long skip(long n)                                   //跳过字符。 
    

    FileReader

        public class FileReader extends InputStreamReader
    

    eg

    import java.io.FileReader;
    import java.io.IOException;
    import java.io.Reader;
    
    public class RWTest {
    	
    	public static void main(String[] args) throws IOException {
    		Reader in = new FileReader("D:/blog/test.txt");
    		int len = -1;
    		while((len = in.read())!=-1){
    			System.out.print((char)len);
    		}
    		in.close();
    	}
    }
    

    字符输出流

        public abstract class Writer implements Appendable, Closeable, Flushable
    
    • 方法
    Writer append(char c)                                   //将指定字符添加到此 writer。 
    Writer append(CharSequence csq)                         //将指定字符序列添加到此 writer。 
    Writer append(CharSequence csq, int start, int end)     //将指定字符序列的子序列添加到此 writer.Appendable。 
    abstract  void close()                                  //关闭此流,但要先刷新它。 
    abstract  void flush()                                  //刷新该流的缓冲。 
    void write(char[] cbuf)                                 //写入字符数组。 
    abstract  void write(char[] cbuf, int off, int len)     //写入字符数组的某一部分。 
    void write(int c)                                       //写入单个字符。 
    void write(String str)                                  //写入字符串。 
    void write(String str, int off, int len)                //写入字符串的某一部分。 
    

    FileWriter

        public class FileWriter extends OutputStreamWriter
    

    构造方法里FileWriter(String fileName, boolean append) append默认是false,表示写入数据追加到已有数据后面,false表示覆盖原数据。

    eg

    import java.io.FileWriter;
    import java.io.IOException;
    import java.io.Writer;
    
    public class RWTest {
    	
    	public static void main(String[] args) throws IOException {
    		Writer out = new FileWriter("d:/blog/test.txt");
            //Writer out = new FileWriter("d:/blog/test.txt",true);
    		out.write("6666");
    		out.close();
    	}
    }
    
    
  • 相关阅读:
    HDU 3605 Escape
    ZOJ 2587 Unique Attack
    POJ 3686 The Windy's
    POJ 3084 Panic Room
    SGU 206 Roads
    POJ 3189 Steady Cow Assignment
    POJ 2125 Destroying The Graph
    PLS_INTEGER类型与timestamp类型、date、及时间函数
    SDO_Geometry说明
    with与树查询的使用
  • 原文地址:https://www.cnblogs.com/Ch1nYK/p/8933071.html
Copyright © 2011-2022 走看看