文本输入与输出

1. PrintWriter()使用示例

package StreamAndFile;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.util.Calendar;
import java.util.GregorianCalendar;

public class TextFileTest {
    public static class Employee{
        String name;
        double salary;
        int year,month,day;
        public Employee(String name,double salary,int year,int month,int day){
            this.name=name;
            this.salary=salary;
            this.year=year;
            this.month=month;
            this.day=day;
        }
        public String getName() {
            return name;
        }
        
        public double getSalary() {
            return salary;
        }
        
        public int getYear() {
            return year;
        }

        public int getMonth() {
            return month;
        }

        public int getDay() {
            return day;
        }

    }
    //将数据写出到文件
    public static void writeData(Employee[] staff, PrintWriter out){
        for(int i=0;i<staff.length;i++){
            out.println(staff[i].getName()+"|"+staff[i].getSalary()+"|"+staff[i].getYear()+
                    "|"+staff[i].getMonth()+"|"+staff[i].getDay());
        }
        out.flush();
    }
    public static void main(String[] args) {
        Employee[] staff = new Employee[3];
        staff[0]=new Employee("Carl Cracker", 75000, 1987, 12, 15);
        staff[1]=new Employee("Harry Hacker", 50000, 1989, 10, 1);
        staff[2]=new Employee("Tony Tester", 40000, 1990, 3, 15);
        //将数据输出到文件employee.txt中
        try {
            PrintWriter out = new PrintWriter("D:\\employee.txt","UTF-8");
            writeData(staff,out);
            System.out.println("写出成功!");
            out.close();
        } catch (FileNotFoundException | UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        //读入输出的文件中的数据
        FileInputStream fis;
        String str;
        try {
            fis = new FileInputStream("D:\\employee.txt");
            BufferedReader br = new BufferedReader(new InputStreamReader(fis));
            System.out.println("读出的数据为:");
            while((str=br.readLine())!=null){
                System.out.println(str);
            }
            br.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

程序运行结果如下:

写出成功!
读出的数据为:
Carl Cracker|75000.0|1987|12|15
Harry Hacker|50000.0|1989|10|1
Tony Tester|40000.0|1990|3|15

 2. 获得字符集别名及所有可用字符集

获得字符集别名:

package StreamAndFile;

import java.nio.charset.Charset;
import java.util.Set;
//输出字符集的别名
public class GetCharSet {

    public static void main(String[] args) {
        Charset cset = Charset.forName("ISO-8859-1");
        Set<String> aliases = cset.aliases();
        for(String aliase : aliases){
            System.out.println(aliase);
        }
    }

}

程序运行结果如下:

csISOLatin1
latin1
IBM-819
iso-ir-100
8859_1
ISO_8859-1:1987
ISO_8859-1
819
l1
ISO8859-1
IBM819
ISO_8859_1
ISO8859_1
cp819

 获得所有可用字符集:

package StreamAndFile;

import java.nio.charset.Charset;
import java.util.Map;
//输出字符集的别名
public class GetCharSet {

    public static void main(String[] args) {//输出所有可用的字符集的名字
        Map<String,Charset> charsets = Charset.availableCharsets();
        for(String name:charsets.keySet()){
            System.out.println(name);
        }
    }

}

 

posted @ 2015-05-25 21:42  ~风轻云淡~  阅读(422)  评论(0编辑  收藏  举报