Javaバッファストリーム符号化&復号化を実現
19659 ワード
Java変換ストリーム:InputStreamReader&OutputStreamWriter
package com.io.review;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import org.junit.Test;
/**
* :InputStreamReader & OutputStreamWriter
*/
public class BufferedStreamCopy {
/*
* 1 【 : -> 】
*/
@Test
public void coding() {
String str = " Siri !";
BufferedWriter bw = null;
try {
// str ./hello.txt
FileOutputStream fos = new FileOutputStream("./hello.txt");
OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");//
bw = new BufferedWriter(osw);
bw.write(str);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (bw != null) {
try {
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
/*
* 1 【 : -> 】
*/
@Test
public void decode() {
BufferedReader br = null;
try {
InputStream in = System.in;
InputStreamReader isr = new InputStreamReader(in);
br = new BufferedReader(isr);
String str = null;
while ((str = br.readLine()) != null) {
System.out.println("---" + str);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
/*
* 2
*
* , 。 “e” “exit” , 。
*/
@Test
public void decode2() {
BufferedReader br = null;
try {
InputStream in = System.in;
InputStreamReader sir = new InputStreamReader(in);
br = new BufferedReader(sir);
String str = null;
while ((str = br.readLine()) != null) {
// e exit
if (str.equalsIgnoreCase("e") || str.equalsIgnoreCase("exit")) {
System.out.println(" !!");
break;
} else {
//
String upperCase = str.toUpperCase();
System.out.println(upperCase);
}
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
/*
* 3
*/
@Test
public void decode3() {
BufferedReader br = null;
try {
FileInputStream fis = new FileInputStream("./hello.txt");
InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
br = new BufferedReader(isr);
String str = null;
while ((str = br.readLine()) != null) {
System.out.println(str);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}