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将数据写出到标准输出,其 ...
随机推荐
- [css]邮件的写法
<style type="text/css"> /* Client-specific Styles */ #outlook a{paddin ...
- iOS8 针对开发者所拥有的新特性汇总如下
iOS8 针对开发者所拥有的新特性汇总如下 1.支持第三方键盘 2.自带网页翻译功能(即在线翻译) 3.指纹识别功能开放:第三方软件可以调用 4.Safari浏览器可直接添加新的插件. 5.可以把一个 ...
- django.test.client 使用随记
import os,sys,django; sys.path.append("\\path\\to\\mysite")#ATTETION!,Err: "unable to ...
- $lookup
db.orders.aggregate([ { $lookup: { from: "inventory", localField: "item", foreig ...
- cmd打开控制面板及其他命令
如果你在权限较小的域用户的机器上,要做一些管理操作,就不可避免的要使用cmd打开一些以前只能在图形界面里打开的程序.下面是我收集的一些常用操作. 以某个身份启动程序:runas /user:it\n1 ...
- CSU 1111 D(Contest #3)
有三户人家共拥有一座花园,每户人家的太太均需帮忙整理花园.A 太太工作了5 天,B 太太则工作了4 天,才将花园整理完毕.C 太太因为正身怀六甲无法加入她们的行列,便出了90元.请 ...
- Android中 服务里的方法抽取成接口
1 写个类继承Service 重写 onBind方法 返回一个IBinder 对象(传递到连接成功时用) 2 服务中 写一个内部类 继承IBinder 并且实现一个接口(用于抽取方法)继承IBinde ...
- windows azure中国 里面建立一个虚拟机,与虚拟机建立通信 里面部署IIS,外网访问
在windows azure中国 里面建立一个虚拟机,里面部署IIS,外网不能访问么? 外网访问的地址是给的那个DNS地址 ,比如我的是 DNS 名称 urbanairserver.cloudapp. ...
- Android布局---相对布局
Android布局分为五大类:相对布局.线性布局.表格布局.帧布局.网格布局 相对布局 语法格式: <RelativeLayout xmlns:android="http://sche ...
- 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[ ...