《Properties XML文件寫出》

package apistudy;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.util.Properties;
public class PropertiesTest
{
    public static void main(String[] args)
    {
        String readfile = "d:" + File.separator + "readfile.properties";
        String writefile = "d:" + File.separator + "writefile.properties";
        String readxmlfile = "d:" + File.separator + "readxmlfile.xml";
        String writexmlfile = "d:" + File.separator + "writexmlfile.xml";
        String readtxtfile = "d:" + File.separator + "readtxtfile.txt";
        String writetxtfile = "d:" + File.separator + "writetxtfile.txt";
        readPropertiesFile(readfile); //讀取properties文件
        writePropertiesFile(writefile); //寫properties文件
        readPropertiesFileFromXML(readxmlfile); //讀取XML文件
        writePropertiesFileToXML(writexmlfile); //寫XML文件
        readPropertiesFile(readtxtfile); //讀取txt文件
        writePropertiesFile(writetxtfile); //寫txt文件
    }
    //讀取資源文件,並處理中文亂碼
    public static void readPropertiesFile(String filename)
    {
        Properties properties = new Properties();
        try
        {
            InputStream inputStream = new FileInputStream(filename);
            properties.load(inputStream);
            inputStream.close(); //關閉流
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        String username = properties.getProperty("username");
        String passsword = properties.getProperty("password");
        String chinese = properties.getProperty("chinese");
        try
        {
            chinese = new String(chinese.getBytes("ISO-8859-1"), "GBK"); // 處理中文亂碼
        }
        catch (UnsupportedEncodingException e)
        {
            e.printStackTrace();
        }
        System.out.println(username);
        System.out.println(passsword);
        System.out.println(chinese);
    }
    //讀取XML文件,並處理中文亂碼
    public static void readPropertiesFileFromXML(String filename)
    {
        Properties properties = new Properties();
        try
        {
            InputStream inputStream = new FileInputStream(filename);
            properties.loadFromXML(inputStream);
            inputStream.close();
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        String username = properties.getProperty("username");
        String passsword = properties.getProperty("password");
        String chinese = properties.getProperty("chinese"); //XML中的中文不用處理亂碼,正常顯示
        System.out.println(username);
        System.out.println(passsword);
        System.out.println(chinese);
    }
    //寫資源文件,含中文
    public static void writePropertiesFile(String filename)
    {
        Properties properties = new Properties();
        try
        {
            OutputStream outputStream = new FileOutputStream(filename);
            properties.setProperty("username", "myname");
            properties.setProperty("password", "mypassword");
            properties.setProperty("chinese", "中文");
            properties.store(outputStream, "author: shixing_11@sina.com");
            outputStream.close();
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
    }
    //寫資源文件到XML文件,含中文  
    public static void writePropertiesFileToXML(String filename)
    {
        Properties properties = new Properties();
        try
        {
            OutputStream outputStream = new FileOutputStream(filename);
            properties.setProperty("username", "myname");
            properties.setProperty("password", "mypassword");
            properties.setProperty("chinese", "中文");
            properties.storeToXML(outputStream, "author: shixing_11@sina.com");
            outputStream.close();
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
    }
}
相關文章
相關標籤/搜索