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

在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. js判断滚动条到底部

    判断滚动条到底部,需要用到DOM的三个属性值,即scrollTop.clientHeight.scrollHeight. scrollTop为滚动条在Y轴上的滚动距离. clientHeight为内容 ...

  2. NSURLSession学习笔记

    NSURLSession学习笔记(一)简介 一.URL Session的基本概念 1.三种工作模式: 默认会话模式(default):工作模式类似于原来的NSURLConnection,使用的是基于磁 ...

  3. jQuery Mobile和Sencha Touch哪个更适合你?

    纯粹的总结一下移动web开发框架,移动web开发框架有jQuery Mobile .Sencha Touch等等,他们都来源于web开发,是成熟的框架,jQuery Mobile出自于jQuery家族 ...

  4. C# 通过消息捕获处理窗体最大化/最小化

    通过以下的一些代码可以实现捕获相关的一些消息事件; 以及可以通过调用 SetCloseMenu();实现关闭一些按钮功能如屏蔽关闭按钮功能等; 需要添加命名空间:using System.Runtim ...

  5. windows系统命令服务安装卸载

    安装: sc create PDW.CHM.WebAPI binPath= "%~dp0PDW.CHM.WebAPI.exe" start= autosc start PDW.CH ...

  6. 【快报】基于K2 BPM的新一代协同办公门户实践交流会

    2014年2月28日,“基于BPM的新一代协同办公门户”用户实践交流活动在深圳金茂JW万豪酒店3楼Meet Room IV举办.本次会议由K2携手微软共同举办,邀请到的参会企业都是K2 的BPM老客户 ...

  7. java遍历hashTable

    //获取key值 Enumeration k = lovResults.keys();while(k.hasMoreElements()){ System.out.println(k.nextElem ...

  8. pandas groupby

    pandas.DataFrame.groupby DataFrame.groupby(by=None, axis=0, level=None, as_index=True, sort=True, gr ...

  9. 10个鲜为人知的WordPress函数

    WordPress功能强大,非常适合开发者使用.说到 WordPress,那么,我们不得不说他的钩子函数.今天,要为大家推荐10个WordPress函数.大多数,都是我们常用的功能,不过,经常不知道如 ...

  10. ios——MPMoviePlayerController截取视频缩略图 播放视频又可以截取视频缩略图

    #import <AVKit/AVKit.h>#import <MediaPlayer/MediaPlayer.h>#import "ViewController.h ...