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

在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. SqlServer 注入技巧

    一.SA权限执行命令,如何更快捷的获取结果? 有显示位 显示位 其实这里的关键并不是有无显示位.exec master..xp_cmdshell 'systeminfo'生成的数据写进一张表的时候,会 ...

  2. 查询各个商品分类中各有多少商品的SQL语句

    SELECT goods_category_id ,count(*) FROM `sw_goods` group by goods_category_id

  3. 解决ios下的微信打开的页面背景音乐无法自动播放

    后面的项目发现,还有两个坑,需要注意下: ·本文的解决方案的核心是利用了 微信/易信 在ready的时候会有个 WeixinJSBridgeReady/YixinJSBridgeReady事件,通过监 ...

  4. poj1012

    Joseph Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 52097   Accepted: 19838 Descript ...

  5. win server 2008配置ftp无法登陆问题的解决办法

    解决办法放在最前面,方便急需答案的同学: 创建了ftp使用的windows账户后,一定要给该账户添加ftp目录的权限,如下图所示,为新账户添加权限后(且设置了“ftp身份验证”),即可正常访问ftp: ...

  6. Ubuntu优化-py用机器

    关闭防火墙 ufw disable pip换源 yum install python-pip -y mkdir ~/.pip cat > pip.conf<<a [global] i ...

  7. Jdeveloper 太慢 slowly

    https://blogs.oracle.com/shay/entry/is_your_jdeveloper_slow_it_sho http://bexhuff.com/2012/09/jdevel ...

  8. web前端性能意义、关注重点、测试方案、优化技巧

    1.前段性能的意义 对于访问一个网站,最花费时间的并不是后端应用程序处理以及数据库等消耗的时间,而是前端花费的时间(包括请求.网络传输.页面加载.渲染等).根据web优化的黄金法则: 80%的最终用户 ...

  9. VS2013中BOOST库的环境配置与使用

    &1 安装Boost 文件下载:链接:http://pan.baidu.com/s/1kUKaOFP 密码:auf2 解压之后放到你想安装的文件夹内,我的是在C:\Program Files\ ...

  10. google map api v2的使用详细过程,图文并茂(原创)

    上一篇中说到怎么获取key,下面来介绍怎么使用key来显示google地图 步骤1:eclipse上打开android SDK Manager,安装google play services. 步骤2: ...