--> 用过之后都不想用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的更多相关文章

  1. Java中PrintStream(打印输出流)

    Java中PrintStream(打印输出流)   PrintStream 是打印输出流,它继承于FilterOutputStream. PrintStream 是用来装饰其它输出流.它能为其他输出流 ...

  2. 【Java】异常处理_学习笔记

    异常: 1.格式1: try { //业务代码 } catch(Exception e) { //异常处理代码 } 说明: a.   异常抛出:执行try里的代码,系统会自动生成一个异常对象,该对象会 ...

  3. Java——IO系统概览

    前言 对程序语言的设计者来说,创建一个好的输入/输出(IO)系统是一项艰难的任务.这艰难主要来自于要涵盖I/O的所有可能性.不仅存在各种I/O源端和想要与之通信的接收端(源端/接收端:文件.控制台和网 ...

  4. Java I/O学习 标准的I/O重定向

    public class Test{ /* * 标准的I/O重定向 * System.setIn(InputStream) * System.setOut(PrintStream) * System. ...

  5. Java的I/O系统

    1.File类 File类既能代表一个特定文件的名称,又能代表一个目录下的一组文件的名称. 如果我们调用不带参数的list()方法,便可以获得此File对象包含的全部列表.然而,如果我们想获得一个受限 ...

  6. java8--异常处理(java疯狂讲义3复习笔记)

    try,catch,finally,throw,throws java将异常分为两种,Checked异常和Runtime异常. IndexOutOfBoundsException NumberForm ...

  7. 18 java I/O 系统

    流的类继承结构 我们首先看看流的类继承结构,有助于理解下个标签的内容 InputStream OutputStream Reader Writer File类 File类技能表示一个特定文件的名称,又 ...

  8. Javapoet源码解析

    Javapoet:是生成.java源文件的开源API  github:https://github.com/square/javapoet   以生成一个HelloWrold.java文件为例: pa ...

  9. Javac语法糖之TryCatchFinally

    https://docs.oracle.com/javase/specs/jls/se7/html/jls-14.html#jls-14.20.3 Optionally replace a try s ...

  10. ThinkJava-标准IO

    1 从标准输入中读取 按照标准1/0模型, Java提供了System.in.System.out和System.err.在整本书里,我们已经 看到了怎样用System.out将数据写出到标准输出,其 ...

随机推荐

  1. [css]邮件的写法

    <style type="text/css">        /* Client-specific Styles */        #outlook a{paddin ...

  2. iOS8 针对开发者所拥有的新特性汇总如下

    iOS8 针对开发者所拥有的新特性汇总如下 1.支持第三方键盘 2.自带网页翻译功能(即在线翻译) 3.指纹识别功能开放:第三方软件可以调用 4.Safari浏览器可直接添加新的插件. 5.可以把一个 ...

  3. django.test.client 使用随记

    import os,sys,django; sys.path.append("\\path\\to\\mysite")#ATTETION!,Err: "unable to ...

  4. $lookup

    db.orders.aggregate([ { $lookup: { from: "inventory", localField: "item", foreig ...

  5. cmd打开控制面板及其他命令

    如果你在权限较小的域用户的机器上,要做一些管理操作,就不可避免的要使用cmd打开一些以前只能在图形界面里打开的程序.下面是我收集的一些常用操作. 以某个身份启动程序:runas /user:it\n1 ...

  6. CSU 1111 D(Contest #3)

              有三户人家共拥有一座花园,每户人家的太太均需帮忙整理花园.A 太太工作了5 天,B 太太则工作了4 天,才将花园整理完毕.C 太太因为正身怀六甲无法加入她们的行列,便出了90元.请 ...

  7. Android中 服务里的方法抽取成接口

    1 写个类继承Service 重写 onBind方法 返回一个IBinder 对象(传递到连接成功时用) 2 服务中 写一个内部类 继承IBinder 并且实现一个接口(用于抽取方法)继承IBinde ...

  8. windows azure中国 里面建立一个虚拟机,与虚拟机建立通信 里面部署IIS,外网访问

    在windows azure中国 里面建立一个虚拟机,里面部署IIS,外网不能访问么? 外网访问的地址是给的那个DNS地址 ,比如我的是 DNS 名称 urbanairserver.cloudapp. ...

  9. Android布局---相对布局

    Android布局分为五大类:相对布局.线性布局.表格布局.帧布局.网格布局 相对布局 语法格式: <RelativeLayout xmlns:android="http://sche ...

  10. poj2129 dp

    //Accepted 320 KB 47 ms //dp //dp[i][j]=1 表示用s1的前i个,s2的前j个字符能构成s3的前i+j-1个字符 //dp[i][j]=0 表示构不成 //dp[ ...