Java-->PrintStream
--> 用过之后都不想用read、write了,感觉还是挺方便的...
package com.dragon.java.hwletter; import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Scanner; /*
* 编写程序来实现如下功能
a:在C盘下创建一个目录Letter
b:在控制台显示下列选项:1 查看请假条 2 撰写请假条
c:如果用户选择2,则提示用户撰写请假条,并把撰写的内容存入到Letter文件夹下。
格式如下:
请假人:王宝强
请假日期:2016年8月15日
请假原因:向法院起诉马蓉离婚.....先请假一天等等
d:如果用户选择1,则在控制台输出请假条的内容。
*/
public class Test {
private static String filePath = "D:/workspace/08-15/src/com/dragon/java/hwletter/Letter/letter.txt";
private static String line = null; public static void main(String args[]) {
Scanner scanner = new Scanner(System.in);
new File(filePath.replace("/letter.txt", "")).mkdirs();
while (true) {
System.out.println("1 查看请假条 2 撰写请假条"); switch (scanner.nextInt()) {
case 1:
if (!(new File(filePath).exists())) {
System.out.println("目前还没有请假条!");
continue;
}
readFile();
break;
case 2:
writeFile();
break;
default:
System.out.println("输入有误!...");
break;
}
}
} private static void readFile() {
System.out.println("请假条:");
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(filePath));
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
System.out.println(e);
}
} private static void writeFile() {
System.out.println("请写请假条:");
BufferedWriter bw = null;
try {
BufferedReader br = new BufferedReader(new InputStreamReader(
System.in, "gbk"));
new File(filePath).createNewFile();
bw = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(filePath)));
while (true) {
line = br.readLine();
if ("end".equals(line)) { break;
} else if (line == null) {
br.close();
break;
}
bw.write(line);
bw.newLine();
}
} catch (IOException e) {
System.out.println(e);
} finally {
try {
// br.close();
bw.close();
} catch (IOException e) {
System.out.println(e);
}
}
}
}
--> 但是以后Android 都没有PrintStream 了啊...
Java-->PrintStream的更多相关文章
- Java中PrintStream(打印输出流)
Java中PrintStream(打印输出流) PrintStream 是打印输出流,它继承于FilterOutputStream. PrintStream 是用来装饰其它输出流.它能为其他输出流 ...
- 【Java】异常处理_学习笔记
异常: 1.格式1: try { //业务代码 } catch(Exception e) { //异常处理代码 } 说明: a. 异常抛出:执行try里的代码,系统会自动生成一个异常对象,该对象会 ...
- Java——IO系统概览
前言 对程序语言的设计者来说,创建一个好的输入/输出(IO)系统是一项艰难的任务.这艰难主要来自于要涵盖I/O的所有可能性.不仅存在各种I/O源端和想要与之通信的接收端(源端/接收端:文件.控制台和网 ...
- Java I/O学习 标准的I/O重定向
public class Test{ /* * 标准的I/O重定向 * System.setIn(InputStream) * System.setOut(PrintStream) * System. ...
- Java的I/O系统
1.File类 File类既能代表一个特定文件的名称,又能代表一个目录下的一组文件的名称. 如果我们调用不带参数的list()方法,便可以获得此File对象包含的全部列表.然而,如果我们想获得一个受限 ...
- java8--异常处理(java疯狂讲义3复习笔记)
try,catch,finally,throw,throws java将异常分为两种,Checked异常和Runtime异常. IndexOutOfBoundsException NumberForm ...
- 18 java I/O 系统
流的类继承结构 我们首先看看流的类继承结构,有助于理解下个标签的内容 InputStream OutputStream Reader Writer File类 File类技能表示一个特定文件的名称,又 ...
- Javapoet源码解析
Javapoet:是生成.java源文件的开源API github:https://github.com/square/javapoet 以生成一个HelloWrold.java文件为例: pa ...
- Javac语法糖之TryCatchFinally
https://docs.oracle.com/javase/specs/jls/se7/html/jls-14.html#jls-14.20.3 Optionally replace a try s ...
- ThinkJava-标准IO
1 从标准输入中读取 按照标准1/0模型, Java提供了System.in.System.out和System.err.在整本书里,我们已经 看到了怎样用System.out将数据写出到标准输出,其 ...
随机推荐
- Mongodb Management Studio
1.服务器管理功能添加服务器,删除服务器 2.服务器,数据库,表,列,索引,树形显示和状态信息查看 3.查询分析器功能.支持select,insert,Delete,update支持自定义分页函数 $ ...
- 使用 JavaScript 修改浏览器 URL 地址栏
现在的浏览器里,有一个十分有趣的功能,你可以在不刷新页面的情况下修改浏览器URL;在浏览过程中.你可以将浏览历史储存起来,当你在浏览器点击后退按钮的时候,你可以冲浏览历史上获得回退的信息,这听起来并不 ...
- 黑马程序员——C语言基础语法 关键字 标识符 注释 数据及数据类型
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (一下内容是对黑马苹果入学视频的个人知识点总结) (一)C语言简单介绍 (1)C语言程序是由函数组成的任何C语言程序都是由一 ...
- 转:gartner 2014-07 ETL工具象限排名
ref: http://www.gartner.com/technology/reprints.do?id=1-1YAXV15&ct=140728&st=sb
- HTML--10Jquery
在<网页制作Dreamweaver(悬浮动态分层导航)>中,运用到了jQuery的技术,轻松实现了菜单的下拉.显示.隐藏的效果,不必再用样式表一点点地修改,省去了很多麻烦,那么jQuery ...
- ACM - 动态规划专题 题目整理
CodeForces 429B Working out 预处理出从四个顶点到某个位置的最大权值,再枚举相遇点,相遇的时候只有两种情况,取最优解即可. #include<iostream> ...
- 在VS2010 中兼容Qt4和Qt5
1,同时安装Qt4和Qt5 Qt_add,然后在 2. 如果之前的项目使用Qt4编写的,如果新添加新的类和ui的话,一定要选择Qt Add_in 1.1.11,不然就无法生成moc文件,随便选择 Ch ...
- 初次使用百度地图API
因为项目需要,不得不使用百度地图的API,以前从未了解过API,这不是唬人,真的,所以对百度地图API充满了恐惧,但是到后面,已经麻木了.期间遇到过很多错误,每一个都弄得头大,借博客的名义把平时遇到的 ...
- java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState解决?
做项目到最后整合的时候测试的时候发现 切换tab更换fragment的时候抛出了这个异常,根据异常信息Can not perform this action after onSaveInstance ...
- H5实现俄罗斯方块(一)
这几天一直忙于公司的项目,涉及到流程问题,(有时间会写成博客的)...一直没有更新... 为了更加巩固js的基础,自己封装类似于JQuery的操作库来对dom进行操作. 一:前度页面的绘制. < ...