java笔记-IO流-流操作
来源:互联网 发布:linux 32位 x86 编辑:程序博客网 时间:2024/06/06 06:14
读取键盘输入(单个字节读取)
循环打印键盘输入,当接收到“over”时退出。
import java.io.*;class KeyboardReadLineDemo {public static void main(String[] args) {KeyboardReadLine();}public static void KeyboardReadLine(){//标准输入流,此流对应键盘输入流等。//返回输入流。//以下三句话汇成一句。//InputStream in=System.in;//InputStreamReader isr=new InputStreamReader(in);//BufferedReader bufr=new BufferedReader(isr);//最终语句。BufferedReader bufr=new BufferedReader(new InputStreamReader(System.in))String line=null;try{while((line=bufr.readLine())!=null){if("over".equals(line)){break;}System.out.println(line);}}catch(IOException e){throw new RuntimeException("键盘读取错误");}finally{try{if(bufr!=null){bufr.close();}}catch(Exception e){throw new RuntimeException("关闭失败");}}}}读取键盘输入(InputStreamReader-字节>字符)
/* InputStreamReader 实例*/import java.io.*;class InputStreamReaderDemo {public static void main(String[] args) throws Exception{/*//构建标准字节输入流InputStream in=System.in;//将字节输入流转换为字符输入流InputStreamReader isr=new InputStreamReader(in);//创建字符输入流缓冲区BufferedReader bufr=new BufferedReader(isr);*///将以上语句组织成一句BufferedReader bufr=new BufferedReader(new InputStreamReader(System.in));String str=null;//循环读取输入while((str=bufr.readLine())!=null){//over结束if("over".equals(str))break;else{System.out.println(str);}}}}读取键盘输入(字符->字节)
/* 字符转化为字节*/import java.io.*;class OutputStreamWriterDemo {public static void main(String[] args) throws Exception{//定义读取缓冲区变量BufferedReader bufr=null;//定义写入缓冲区变量BufferedWriter bufw=null;try{//从输入流中读取数据到读取缓冲区中。bufr=new BufferedReader(new InputStreamReader(System.in));//从输出流中读取数据到写入缓冲区中。bufw=new BufferedWriter(new OutputStreamWriter(System.out));String str=null;//循环读取键盘输入数据。while((str=bufr.readLine())!=null){if("over".equals(str)){break;}//将从键盘读取的数据输出到输出缓冲区中。bufw.write(str);//换行。bufw.newLine();//刷新bufw.flush();}}catch(IOException e){throw new RuntimeException("error.");}//关闭流finally{try{if(bufr!=null){bufr.close();}}catch(IOException e){throw new RuntimeException("error.");}try{if(bufw!=null){bufw.close();}}catch(IOException e){throw new RuntimeException("error.");}}}}
流操作的基本规律
1.明确源和目的
源头:输入流:InputStream Reader
目的:输出流:OutputStream Writer
2.操作的数据是否是纯文本
是:字符流
否:字节流
3.当体系明确后,还需明确具体使用哪个对象
通过设备进行区分
源头设备:内存,硬盘,键盘
目的设备:内存,硬盘,控制台
例:将一个文本文件存储到另外一个文件
源头:文本文件(字符),使用读取流:InputStream Reader
Reader体系中可以操作文件的对象是FileReader
是否需要提高效率?是:加入Reader体系中的缓冲区BufferedReader
FileReader fileR=new FileReader("cs.txt");
BufferedReader bufr=new BufferedReader(fileR);
目的:文本文件(字符),使用写入流:OutputStream Writer
Wirter体系中可以写入字符的对象是FileWriter
是否需要提高效率?是:加入Writer体系中的BufferedWriter
FileWriter fileW=new FileWriter(csCopy.txt);
BufferedWriter bufw=new BufferedWriter(fileW);
打印程序运行异常信息
/* 打印程序异常信息。*/import java.io.*;import java.text.*;import java.util.*;class ExceptionLog {public static void main(String[] args) {try{int[] arr=new int[3];//故意数组角标越界异常。System.out.println(arr[3]);}catch(Exception e){try{//输出日期信息。Date d=new Date();//指定日期输出格式SimpleDateFormat sdf=new SimpleDateFormat("yyyy-mm-dd,HH-mm-ss");//将日期转化为字符串String s=sdf.format(d);//指定输出位置,此处会抛异常。PrintStream ps=new PrintStream("Exception.log");//打印日期。ps.println(s);//重新设置系统输出位置。System.setOut(ps);}catch(Exception ex){throw new RuntimeException("异常信息存储错误。");}//将追踪到的信息打印到指定的输出流e.printStackTrace(System.out);}}}打印系统属性信息
import java.io.*;import java.util.*;class SystemInfo {public static void main(String[] args) throws Exception{//获取系统属性信息。Properties pro=System.getProperties();//打印系统属性信息。pro.list(new PrintStream("SystemInfo.txt"));}}
0 0
- java笔记-IO流-IO基本操作
- java笔记-IO流-流操作
- 【JAVA IO】_内存操作流笔记
- 【JAVA IO】_数据操作流笔记
- java笔记-IO流-文件操作
- 【JAVA IO】_内存操作流笔记
- 【JAVA IO】_数据操作流笔记
- Java学习笔记--IO流的操作
- JAVA IO 流操作
- java io流操作
- java IO流操作
- java IO 流操作
- java IO流笔记
- java IO流笔记
- IO流 【java笔记】
- java笔记 IO流
- Java语言中IO流的操作规律学习笔记
- Java IO学习笔记(五):内存操作流
- 早起版本jersey可能存在的问题
- Android实现数据存储技术
- JS技术图片集锦
- 计算机网络学习--局域网技术
- Windows Shell编程实现右键菜单-VS2005,Win7 32位
- java笔记-IO流-流操作
- Java开发中的23个设计模式--第二部分:结构型模式
- 画布Drawing.Bitmap (验证码时候用的) | 缩略图
- Android Canvas绘图详解(图文)
- jquery基础学习
- 【DP】最少拦截系统
- iOS系统越狱检测
- Java GUI
- 排序算法总结