在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据时要使用输入流读取数据,而当程序需要将一些数据保存起来时,就要使用输出流。

在java.io包中流的操作主要有字节流、字符流两大类,两类都有输入和输出操作。

在字节流中输出数据主要使用OutputStream类完成,输入使用的是InputStream类。

在字符流中输出主要使用Writer类完成,输入主要使用Reader类完成。

1、字节输出流

 import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream; public class FileDemo{
public static void main(String[] args) throws Exception
{
String path="G:"+File.separator+"javaExercise"+File.separator+"test.txt";
File f=new File(path); OutputStream out=null;
out =new FileOutputStream(f);
String str="Hello World";
byte b[]=str.getBytes(); out.write(b);
out.close();
}
}

2、字节输入流

 import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream; public class FileDemo{
public static void main(String[] args) throws Exception
{
String path="G:"+File.separator+"javaExercise"+File.separator+"test.txt";
File f=new File(path); InputStream input=null;
input =new FileInputStream(f); byte b[]=new byte[1024]; input.read(b); System.out.println("内容为: "+new String(b));
input.close();
}
}

3、字符输出流

 import java.io.File;
import java.io.FileWriter;
import java.io.Writer; public class FileDemo{
public static void main(String[] args) throws Exception
{
String path="G:"+File.separator+"javaExercise"+File.separator+"test1.txt";
File f=new File(path);
Writer out=null;
out =new FileWriter(f);
String str="hello world";
out.write(str);
out.close();
}
}

整个程序与OutputStream的操作流程并没有太大区别,唯一的好处是,可以直接输出字符串,而不用将字符串变为byte数组后再输出。

4、字符输入流

 import java.io.File;
import java.io.FileReader;
import java.io.Reader; public class FileDemo{
public static void main(String[] args) throws Exception
{
String path="G:"+File.separator+"javaExercise"+File.separator+"test1.txt";
File f=new File(path);
Reader reader=null;
reader=new FileReader(f);
char c[]=new char[1024];
int len=reader.read(c);
reader.close();
System.out.println("内容为: "+new String(c,0,len));
}
}

javaIO(二)的更多相关文章

  1. 【Java】JavaIO(二)、节点流

    一.InputStream & outputStream Java字节流主要是以InputStream (输入流),outputStream(输出流)为基类,本身是抽象类不能创建实例,但是是字 ...

  2. [二十一]JavaIO之BufferedReader 与 BufferedWriter

    功能简介 BufferedReader  从字符输入流中读取文本,内部缓冲各个字符,从而实现字符.数组和行的高效读取 BufferedWriter 将文本写入字符输出流,内部缓冲各个字符,从而提供单个 ...

  3. [二十四]JavaIO之PrintWriter

      功能简介   PrintWriter   向文本输出流打印对象的格式化表示形式 他与PrintStream的逻辑上功能目的是相同的--他们都想做同一件事情--更便捷的格式化打印输出   Print ...

  4. [二十六]JavaIO之再回首恍然(如梦? 大悟?)

    流分类回顾 本文是JavaIO告一段落的总结帖 希望对JavaIO做一个基础性的总结(不涉及NIO) 从实现的角度进行简单的介绍 下面的这两个表格,之前出现过 数据源形式 InputStream Ou ...

  5. javaIO流(二)--字节流与字符流

    一.流的基本概念 在java.io包中,File类是唯一一个与文件本身有关的程序处理类,但是File类只能操作文件本身,而不能操作文件内容,IO操作的核心意义在于输入和输出操作.而对于程序而言,输入和 ...

  6. [二] JavaIO之File详解 以及FileSystem WinNTFileSystem简介

    File类 文件和目录路径名的抽象表示形式. 我们知道,对于不同的操作系统,文件路径的描述是不同的 比如 windows平台:用\ linux平台:用/   File是Java为了这一概念提供的抽象描 ...

  7. [十二]JavaIO之BufferedInputStream BufferedOutputStream

    功能简介 BufferedInputStream 和 BufferedOutputStream一样,他们都是过滤流 装饰器模式下具体的装饰类 用来装饰InputStream以及OutputStream ...

  8. [二十]JavaIO之StringReader 与 StringWriter

    功能简介 还记得前面说过的CharArrayReader 和 CharArrayWriter吗? CharArray 是数据源 CharArrayReader 是读,  从一个CharArray 中读 ...

  9. [二十二]JavaIO之LineNumberReader

    功能介绍 LineNumberReader是提供了行号的具体的装饰器类 跟踪行号的缓冲字符输入流 此类定义了方法 setLineNumber(int) 和 getLineNumber(),它们可分别用 ...

随机推荐

  1. Node.js之Promise

    2015年发布了ES6标准,所谓 Promise,就是ES6标准的一个对象,用来传递异步操作的消息.它代表了某个未来才会知道结果的事件(通常是一个异步操作),并且这个事件提供统一的 API,可供进一步 ...

  2. Go 命令之 godep

    本文参考:http://www.cnblogs.com/me115/p/5528463.html#h20 http://studygolang.com/articles/4385 关于Godep 发现 ...

  3. [tools]google神器浏览器下载

    google神器下载 这是一款优化了的google浏览器 http://www.ccav1.me/chromegae.html

  4. C语言 百炼成钢2

    //题目4:输入某年某月某日,判断这一天是这一年的第几天? #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<st ...

  5. XXOOJL

    她的鞋子放在外面没拿进来很显眼,我们俩正抱在床上,刚做完什么也没穿,她也没擦.听到门外的脚步声.赶紧穿.她在我房间里没出声,但我父亲肯定看出来了.于是问我:母亲去哪了,然后他去找她. 太尴尬了,那晚我 ...

  6. 编写高效的CSS选择符(节选)

    最右边优先 css选择符是从右向左进行匹配的. 样式系统从最右边的选择符开始向左匹配规则.只要当前的选择符的左边还有其他选择符,样式系统就会继续向左移动,直到找到和匹配的元素,或者因为不匹配而退出. ...

  7. webapi同一个Controller多个函数

    现在用webapi发现一个问题,比如用get方法调用的的时候函数名好像没用,不管你写什么名称,它只认调用相同参数的一个函数,而且以get开头的函数虽然名称不同但是只要参数相同就会报错,无法调用怎么回事 ...

  8. Windows Phone 开发——相机功能开发

    相机功能是手机区别于PC的一大功能,在做手机应用时,如果合理的利用了拍照功能,可能会给自己的应用增色很多.使用Windows Phone的相机功能,有两种方法,一种是使用PhotoCamera类来构建 ...

  9. Bootstrap系列 -- 26. 下拉菜单标题

    Bootstrap下拉菜单中使用 dropdown-header 来显示菜单标题,和上一篇说道的分割线一样 <div class="dropdown"> <but ...

  10. ajax请求模拟登录

    前台 @if (Session["username"] != null) { <div class="login"> <span style= ...