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将数据写出到标准输出,其 ...
随机推荐
- 简单模拟QQ界面框架。
package com.lixu.qqjiemian; import java.util.Timer; import java.util.TimerTask; import android.app.A ...
- [Js]碰撞运动
描述:撞到目标点弹回来(速度反转) 一.无重力的漂浮div var div1=document.getElementById("div1"); var iSpeedX=6; var ...
- visualsvn server 安装提示无法启动
需要在服务里面给visualsvn server 用本地账户登陆权限
- 使用AWT组件实现验证码功能
import java.awt.Color; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics2D ...
- 关键字const
const关键字常和指针一起使用. 1,const给读代码的人传达非常有用的信息.比如一个函数的参数是const char *,你在调用这个函数时就可以放心地传给它char *或const char ...
- 教学目标的表述方式──行为目标的ABCD表述法
教学目标应规定学生在教学活动结束后能表现出什么样的学业行为,并限定学生学习过程中知识.技能的获得和情感态度发展的层次.范围.方式及变化效果的量度.对每节课教学目标的准确表述,可以充分发挥教学目标在教学 ...
- C++全局变量在多个源代码文件中的使用
在比较大的项目中,如果需要使用全局变量,那么就需要注意一些全局变量声明.使用不当引起的问题了. 本篇文章主要内容有两个:普通全局变量.静态全局变量.全局常量. 1.普通全局变量:假设我们需要在多个不同 ...
- Nginx SSL配置过程
1. 在godaddy购买了UCC SSL(最多5个域名)的SSL证书 2. 设置证书 -- 管理 -- 3. 需要制作证书申请CSR文件(在线工具制作或者openssl命令制作),保存CSR和key ...
- android studio只能全部提示设置
- C杂记
printf主要是为了便于取地址,默认将char,short变成了int,float变成了double:但scanf的时候,因为数据宽度的问题,必须区分%f和%lf. memset 是字符串操作函数: ...