关于标准输入输出流及转换流的使用
来源:互联网 发布:java代码块执行顺序 编辑:程序博客网 时间:2024/06/05 15:37
代码示例如下:
package com.atguigu.java;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.io.UnsupportedEncodingException;import org.junit.Test;public class TestOtherStream {/** 标准的输入输出流:* 标准的输出流:System.out* 标准的输入流:System.in* * 题目:* 从键盘输入字符串,要求将读取到的整行字符串转成大写输出。然后继续进行输入操作,* 直至当输入“e”或者“exit”时,退出程序。*/ @Test public void test2(){ BufferedReader br = null; try { InputStream is = System.in; InputStreamReader isr = new InputStreamReader(is); br = new BufferedReader(isr); String str; while(true){ System.out.println("请输入字符串:"); str = br.readLine(); if(str.equalsIgnoreCase("e") || str.equalsIgnoreCase("exit")){ break; } String str1 = str.toUpperCase(); System.out.println(str1); } } catch (IOException e) { e.printStackTrace(); }finally{ if(br != null){ try { br.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }/** 如何实现字节流与字符流之间的转换:* 转换流:InputStreamReader OutputStreamWriter* 编码:字符串 --->字节数组* 解码:字节数组--->字符串*/@Test public void test1(){ BufferedReader br = null; BufferedWriter bw = null; try { //解码 File file = new File("dbcp.txt"); FileInputStream fis = new FileInputStream(file); InputStreamReader isr = new InputStreamReader(fis, "GBK"); br = new BufferedReader(isr); //编码 File file1 = new File("dbcp4.txt"); FileOutputStream fos = new FileOutputStream(file1); OutputStreamWriter osw = new OutputStreamWriter(fos, "GBK"); bw = new BufferedWriter(osw); String str; while((str = br.readLine()) != null){ bw.write(str); bw.newLine(); bw.flush(); } }catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ if(bw != null){ try { bw.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if(br != null){ try { br.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }}
计算机只能识别二进制数据,早期由来是电信号。为了方便应用计算机,让它可以识别各个国家的文字。
就将各个国家的文字用数字来表示,并一一对应,形成一张表。这就是编码表。
常见的编码表
ASCII:美国标准信息交换码。
用一个字节的7位可以表示。
ISO8859-1:拉丁码表。欧洲码表
用一个字节的8位表示。
GB2312:中国的中文编码表。
GBK:中国的中文编码表升级,融合了更多的中文文字符号。
Unicode:国际标准码,融合了多种文字。
所有文字都用两个字节来表示,Java语言使用的就是unicode
UTF-8:最多用三个字节来表示一个字符。
注:缓冲流处理的对象只能是字符流,而转换流是实现字节流和字符流之间的转换,所以两者有时需要配套来用
0 0
- 关于标准输入输出流及转换流的使用
- 关于标准的输入输出流的问题
- java关于输入输出流的转换
- 一些关于标准输入输出流的控制符的知识
- 6.标准流的输入输出
- c++的标准输入输出流
- 输入输出流的转换
- C++标准输入输出流控制字符的使用
- 关于标准输入输出的缓存
- *标准输入输出流
- JAVA标准输入输出流
- 标准输入输出流案例
- 标准输入输出流
- 标准输入输出流
- 标准输入输出流
- 标准输入输出流
- python 标准输入输出流
- java标准输入输出流
- 关于泛型的使用
- 自定义枚举类及使用enum的枚举类
- File类的常用方法
- 关于文件流的使用
- 关于缓冲流的使用
- 关于标准输入输出流及转换流的使用
- 对象流的使用
- RandomAccessFile的使用
- 在Java中,关于线程的创建,方法及生命周期
- 当月 当年sql
- 关于equals()和toString()方法
- cc2541修改广播信号(以蓝牙接入微信为例)
- 在Java中,关于线程的同步
- 在Java中,关于线程的通信