package org.hanqi.ex;

 import java.io.*;

 public class TestFile2 {

     public static void main(String[] args) {

         try {
//覆盖写入
//true 追加写入
FileOutputStream fos = new FileOutputStream("d:\\test.txt",true);
String str = "\n心情不错";
fos.write(str.getBytes());
fos.close(); FileInputStream fis = new FileInputStream("d:\\test.txt");
byte[] b = new byte[200];
int i = fis.read(b);
String str1 = new String(b,0,i);
System.out.println("读取内容:"+str1);
fis.close();
} catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}
 package org.hanqi.ex;

 import java.io.*;

 public class TestFile3 {

     public static void main(String[] args) {

         try {
//读取
FileReader fr = new FileReader("d:\\test.txt");
char[] c = new char[200];
int i = fr.read(c);
String str = new String(c,0,i);
System.out.println("读取内容:"+str);
fr.close(); //写入
FileWriter fw = new FileWriter("d:\\test.txt", true);
fw.write("\n新追加的内容");
fw.close();
} catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}
 package org.hanqi.ex;

 import java.io.*;

 public class TestFile4 {

     public static void main(String[] args) {

         try {
File f = new File("d:\\test.txt");
//带缓存
//Writer接口的实现类
FileWriter fw = new FileWriter(f);
//缓存写入类,构造时需要传入Writer实例
BufferedWriter bw = new BufferedWriter(fw);
bw.write("\n这是清空前缓存方式写入的字符串");
//自动管理缓存:
//自动写入:1.缓存满了 2.缓存关闭之前
bw.flush(); //主动清空缓存,写入数据 bw.write("\n这是清空后缓存方式写入的字符串"); bw.close(); //注意关闭顺序
fw.close();
System.out.println("写入完成");
//缓存读
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
// //第一次读
// String str = br.readLine();
//
// while(str!=null)
// {
// System.out.println(str);
// str = br.readLine();
// }
while(true)
{
String str = br.readLine();
if(str==null)
{
break;
}
System.out.println(str);
} } catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}

附相关思维导图:

课堂所讲整理:输入输出流(I/O)2(修改版)的更多相关文章

  1. 课堂所讲整理:super和转型(修改版)

    创建父类: package org.hanqi.pn0120; public class Father { private String name; private int age; public S ...

  2. 课堂所讲整理:输入输出流(I/O)

    package org.hanqi.ex; import java.io.*; public class TestFile { public static void main(String[] arg ...

  3. 课堂所讲整理:HTML--7JavaScript的DOM操作

    1.DOM的基本概念 DOM是文档对象模型,这种模型为树模型:文档是指标签文档:对象是指文档中每个元素:模型是指抽象化的东西. 2.Window对象操作 一.属性和方法: 属性(值或者子对象): op ...

  4. 课堂所讲整理:HTML--5JavaScript简介

    一.JavaScript简介 1.JavaScript是个什么东西? 它是个脚本语言,需要有宿主文件,它的宿主文件是HTML文件. 2.它与Java什么关系? 没有什么直接的联系,Java是Sun公司 ...

  5. 课堂所讲整理:HTML--8Window.document对象

    1.Window.document对象 一.找到元素: docunment.getElementById("id"):根据id找,最多找一个:    var a =docunmen ...

  6. 课堂所讲整理:HTML--6运算符、类型转换

    1.类型转换: 分为自动转换和强制转换,一般用强制转换. 其他类型转换为整数:parseint(): 其他类型转换为小数:parsefloat(): 判断是否是一个合法的数字类型:isNaN(): 是 ...

  7. 课堂所讲整理:包装&工具类

    package org.hanqi.array; import java.util.Random; public class BaoZhuang { public static void main(S ...

  8. 课堂所讲整理:Set和Map

    Set相关知识: package org.hanqi.array; import java.util.*; public class Test2 { public static void main(S ...

  9. java开发知识IO知识之输入输出流以及文件

    目录 java开发知识IO知识之输入输出流以及文件 一丶流概述 二丶输入流讲解 InputStream类. 1. 输入流以及类层次结构 2.文件操作.使用输入流读取 三丶输出流 OutputStrea ...

随机推荐

  1. [Java]eclipse的使用

    1.android sdk help安装 使用SDK Manager.exe下载android sdk的时候把docs也勾选上. 在eclipse的android工程下的android.jar(在an ...

  2. 计算文字的高度和宽度--以微博会话界面中用户名(userName)为例

    所用方法 // NOTE: All of the following methods will default to drawing on a baseline, limiting drawing t ...

  3. 防止忘记初始化NSMutableArray的方法

    在写项目的过程中,经常会遇到一些郁闷的事,往一个可变数组中添加一个模型数据时,经常会发现程序运行很正常,可是可变数组中就是没有任何数据,久病成医,我发现自己总是放一个错,就是NSMutableArra ...

  4. SWPFILE实现(增加swap空间)

    1.mkdir /var/swap chmod  700  /var/swap(可以不用设置) 2.dd if=/dev/zero of=/var/swap/file bs=1024 count=65 ...

  5. JavaScript基础--超级玛丽(七)(上下左右控制)

    相信大家都玩过超级玛丽,下面实现控制玛丽的上.下.左.右等基本功能,本篇只是在练习JavaScript的用法 1.创建一个HTML页面 <!doctype html> <html l ...

  6. iOS 设计模式之工厂模式

    iOS 设计模式之工厂模式 分类: 设计模式2014-02-10 18:05 11020人阅读 评论(2) 收藏 举报 ios设计模式 工厂模式我的理解是:他就是为了创建对象的 创建对象的时候,我们一 ...

  7. PAT 10-2 删除字符串中的子串

    今天发一个不完全对(通过garbageMan园友的帮忙,现已全对)的代码,(/*后两用例未通过,一时看不出问题在哪,*/)切入正题 /* Name: Copyright: Author: Date: ...

  8. 提示错误#165 too few argument in function call

    调用函数时,参数个数少于函数定义.检查一下函数定义和参数调用,两个要一致.

  9. (转)在网页中JS函数自动执行常用三种方法

    原文:http://blog.sina.com.cn/s/blog_6f6b4c3c0100nxx8.html 在网页中JS函数自动执行常用三种方法 在网页中JS函数自动执行常用三种方法 在HTML中 ...

  10. Android MotionEvent getX() getY() getRawX() getRawY() and View getTop() getLeft()

    getRowX:触摸点相对于屏幕的坐标getX: 触摸点相对于按钮的坐标getTop: 按钮左上角相对于父view(LinerLayout)的y坐标getLeft: 按钮左上角相对于父view(Lin ...