1. 程式人生 > >IO流-轉換流

IO流-轉換流

1.概述

IO流就是輸入/輸出程式的資料流,通過IO流技術可以實現從程式中讀取外部資料或者將資料從程式中輸出到外部裝置中。

2.java.io

            輸入流		   輸出流
位元組流	InputStream		OutputStream
		
字元流	Reader			Writer
四大基本流都是抽象類,不能直接使用,在他們的基礎上,派生出了很多具有具體功能的子孫流。

Reader、Writer:InputStreamReader、OutputStreamWriter

轉換流是位元組流通向字元流的橋樑,可以將位元組流轉換為字元流,原理其實就是在位元組流的基礎上增加了編解碼的操作。

FileReader、FileWriter其實底層都是位元組流,只不過額外的配置一個編碼器、解碼器,底層讓然用位元組讀資料通過解碼器轉換成字元,或通過編碼器將字元轉換為位元組再輸出。而FileReader和FileWriter使用的都是系統預設的編碼,如果使用它讀取寫出非系統碼的檔案,可能會產生亂碼的問題。此時可以通過轉換流自己構建指定編碼的字元輸入流或輸出流。
package com.zll.io;

import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.Reader;
/**
 * 利用轉換流讀取UTF-8的檔案
 * @author Administrator
 *
 */
public class InputStreamReaderDemo1 {
	public static void main(String[] args) throws Exception {
//		Reader reader = new FileReader("c:\\6.txt");
//		char [] cs = new char[1024];
//		int i = reader.read(cs);
//		String str = new String(cs,0,i);
//		System.out.println(str);
	
		Reader reader = new InputStreamReader(new FileInputStream("c:\\6.txt"),"utf-8");
		char [] cs = new char[1024];
		int i = reader.read(cs);
		String str = new String(cs,0,i);
		System.out.println(str);
	}
}
package com.zll.io;

import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
/**
 * 利用轉換流輸出UTF-8的資料
 */
public class OutputStreamWriterDemo1 {
	public static void main(String[] args) throws Exception {
//		Writer writer = new FileWriter("c:\\5.txt");
//		writer.write("中國");
//		writer.close();
	
		Writer writer = new OutputStreamWriter(new FileOutputStream("c:\\6.txt"), "utf-8");
		writer.write("中國");
		writer.close();
	}
}


相關推薦

IO轉換,打印,序列化】

ado 保存數據 字符輸入 ... 讀取文件 inpu 存在 char 字符 編碼: 把看的懂,變成看不懂的 String str = "中國"; byte[] bytes = str.getBytes(); System.out.println(Arrays.toS

Java IO轉換的作用

utf except image code 需要 cep inf java網絡編程 解析 在《Java網絡編程》中,有這樣一段話: ”Reader和Writer最重要的子類是InputStreamReader和OutputStreamWriter類。 InputStream

Java基礎-IO-轉換(字元)

轉換流 把位元組流轉換為字元流 字元流 = 位元組流+編碼表 字元輸出流 OutputStreamWriter(OutputStream) 根據預設編碼,把位元組流轉換為字元輸出流 OutputStreamWriter(OutputStream,String charse

IO----轉換、緩衝

開啟一個文字檔案,另存為:   Ansi就是系統預設編碼(就是gbk)   建一個編碼是utf-8的txt檔案, 例: import java.io.FileWriter; import java.io.IOException; public class Demo01 {

黑馬程式設計師——java的IO之字元,位元組,轉換

------- android培訓、java培訓、期待與您交流! ---------- 前言:通過觀看畢向東老師的java基礎視訊,查漏補缺,將一些自己掌握的還不牢固的知識寫出來,希望和大家交流分享。 1.IO概述 1、相關概念:IO:即Input和Output的縮寫。

IO-轉換

1.概述 IO流就是輸入/輸出程式的資料流,通過IO流技術可以實現從程式中讀取外部資料或者將資料從程式中輸出到外部裝置中。 2.java.io 輸入流 輸出流 位元組流 InputStream OutputStream 字元流 R

java.se.io.8.轉換

package com.knock.io; import java.io.BufferedInputStream; import java.io.BufferedReader; import jav

IO——轉換

OutputStreamWriter類    OutputStreamWriter是字元流通向位元組流的橋樑:可使用指定的字元編碼表,將要寫入流中的字元編碼乘位元組。程式碼演示:public static void writeCN() throws Exception {

java-裝飾-轉換

InputStreamReader &OutputStreamWriter InputStreamReader 是字元流和位元組流之間的橋樑,可以將位元組流轉換為字元流,並且能為位元組流指定字符集,可以處理一個個的字元。 1.以字元流的形式操作位元組流 package cn.

字元 位元組 轉換

轉載自http://blog.csdn.net/puppylpg/article/details/45620387 我們知道Java中的流分為字元流和位元組流,其中字元流主要針對字元文字進行處理,而位元組流處理範圍更為廣泛,畢竟圖片、電影等只要是檔案都是以二進位制的形式存在的,而不是字元。

Java 位元組 字元 轉換

我們知道Java中的流分為字元流和位元組流,其中字元流主要針對字元文字進行處理,而位元組流處理範圍更為廣泛,畢竟圖片、電影等只要是檔案都是以二進位制的形式存在的,而不是字元。 字元流: FileRe

Java-IO轉換的使用和編碼與解碼原理

鍵盤輸入 tostring delet 特點 rgb utf8 equals pri 數據 一、理論: 1、字符流和字節流區別是什麽? 字符流=字節流+編碼集,在實際讀取的時候其實字符流還是按照字節來讀取,但是會更具編碼集進行查找編碼集字典解析相應的字節,使得一次讀取出一個

Java——IO類,轉換簡化寫法

lose exception rip border 兩個類 xhtml 成員方法 tab 指示 body, table{font-family: 微軟雅黑} table{border-collapse:

java基礎54 IO技術(轉換

shadow bili cnblogs lin iter checkbox exc center div 1、轉換流 1.輸入字節的轉換流:InputStreamReader是字節流轉為字符流的橋梁,可以把輸入字節流轉換為輸入字符流 2.輸出字節流的轉換流:O

IO第六課轉換

  這節課來講講轉換流     在講轉換流之前了,我們先講講字元的編碼與解碼。     首先,我們知道計算機裡所有資料都是以二進位制的形式儲存的,.java檔案想要執行必須先被編譯成.class位元組碼檔案,這裡我們提到了一個詞,位元

轉換、序列化、列印、commons-io、properties

Java中傳輸最頻繁是字元但是傳輸開始用的是位元組流<不能看出傳輸的是啥>所以又有了字元流(底層為位元組流);   IO流的分類 |- 位元組流 - 位元組輸入流 InputStream 抽象類 -  FileInputStream 操作檔案的位元組輸入流 - 位元

IO(File類,IO的分類,位元組和字元轉換,緩衝,物件序列化)

1.File類 File類可以在程式中 操作檔案和目錄。File類是通過建立File類物件,在呼叫File類的物件來進行相關操作的。 示例: --------------------- 本文來自 dajiahuooo 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/

IO 轉換

package TestIo; import java.io.*; /** * 轉換流 */ public class TestConvertStream { public static void main(String[] args) { // 建立字元輸入和輸出流:使

Java IO 筆記5 --- 轉換

Reader 和 Writer 最重要的子類是 InputStreamReader和 OutputStreamWriter 類  --- Java 網路程式設計 InputStreamReader : 讀 --- 讀取原始位元組,將位元組轉為字元。 包含了一個底層輸入

【轉載】Java IO 轉換 位元組轉字元

位元組流輸入位元組流:---------| InputStream 所有輸入位元組流的基類。 抽象類。------------| FileInputStream 讀取檔案的輸入位元組流。------------| BufferedInputStream 緩衝輸入位元組流。 該類內部其實就是維護了一個8kb(8