javaIO(二)
在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据时要使用输入流读取数据,而当程序需要将一些数据保存起来时,就要使用输出流。
在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(二)的更多相关文章
- 【Java】JavaIO(二)、节点流
一.InputStream & outputStream Java字节流主要是以InputStream (输入流),outputStream(输出流)为基类,本身是抽象类不能创建实例,但是是字 ...
- [二十一]JavaIO之BufferedReader 与 BufferedWriter
功能简介 BufferedReader 从字符输入流中读取文本,内部缓冲各个字符,从而实现字符.数组和行的高效读取 BufferedWriter 将文本写入字符输出流,内部缓冲各个字符,从而提供单个 ...
- [二十四]JavaIO之PrintWriter
功能简介 PrintWriter 向文本输出流打印对象的格式化表示形式 他与PrintStream的逻辑上功能目的是相同的--他们都想做同一件事情--更便捷的格式化打印输出 Print ...
- [二十六]JavaIO之再回首恍然(如梦? 大悟?)
流分类回顾 本文是JavaIO告一段落的总结帖 希望对JavaIO做一个基础性的总结(不涉及NIO) 从实现的角度进行简单的介绍 下面的这两个表格,之前出现过 数据源形式 InputStream Ou ...
- javaIO流(二)--字节流与字符流
一.流的基本概念 在java.io包中,File类是唯一一个与文件本身有关的程序处理类,但是File类只能操作文件本身,而不能操作文件内容,IO操作的核心意义在于输入和输出操作.而对于程序而言,输入和 ...
- [二] JavaIO之File详解 以及FileSystem WinNTFileSystem简介
File类 文件和目录路径名的抽象表示形式. 我们知道,对于不同的操作系统,文件路径的描述是不同的 比如 windows平台:用\ linux平台:用/ File是Java为了这一概念提供的抽象描 ...
- [十二]JavaIO之BufferedInputStream BufferedOutputStream
功能简介 BufferedInputStream 和 BufferedOutputStream一样,他们都是过滤流 装饰器模式下具体的装饰类 用来装饰InputStream以及OutputStream ...
- [二十]JavaIO之StringReader 与 StringWriter
功能简介 还记得前面说过的CharArrayReader 和 CharArrayWriter吗? CharArray 是数据源 CharArrayReader 是读, 从一个CharArray 中读 ...
- [二十二]JavaIO之LineNumberReader
功能介绍 LineNumberReader是提供了行号的具体的装饰器类 跟踪行号的缓冲字符输入流 此类定义了方法 setLineNumber(int) 和 getLineNumber(),它们可分别用 ...
随机推荐
- Mac下Android Studio中获取SHA1和MD5
有很多人讲这个的时候,老是只把这个代码标出来又不说为什么 keytool -list -keystore debug.keystore keytool 这个是java的 jdk中一个工具(做签名文 ...
- Android Handler处理机制 ( 三 ) ——Handler,Message,Looper,MessageQueue
在android中提供了一种异步回调机制Handler,使用它,我们可以在完成一个很长时间的任务后做出相应的通知 handler基本使用: 在主线程中,使用handler很简单,new一个Handle ...
- 程序清单8-3 8-4 演示不同的exit值
//http://blog.chinaunix.net/uid-24549279-id-71355.html /* ========================================== ...
- HBuilder打包ios应用
1先安装itunes在电脑上 2,在HBuilder的工具栏上的"工具"选项卡上安装ios插件
- jQuery Ajax 操作函数及deferred对象
jQuery Ajax 操作函数 jQuery 库拥有完整的 Ajax 兼容套件.其中的函数和方法允许我们在不刷新浏览器的情况下从服务器加载数据. 函数 描述 jQuery.ajax() 执行异步 H ...
- PHP版本VC6和VC9、Non Thread Safe和Thread Safe的区别
链接:http://www.cnblogs.com/neve/articles/1863853.html 想更新个PHP的版本,PHP的windows版本已经分离出来了,见http://windows ...
- C#中的Decimal类型
这种类型又称财务类型,起源于有效数字问题.FLOAT 单精度,有效数字7位.有效数字是整数部分和小数部分加起来一共多少位.当使用科学计数法的,FLOAT型会出现很严重的错误.比如 8773234578 ...
- scrapy 登录
说明: 本文参考了官网文档,以及stackoverflow的几个问题 注意: 下面这个爬虫不能实际运行!我只是用它来展示登录,以及之后如何处理. 方式一:FormRequest import scra ...
- win系统 添加、修改右键“发送到”
发现大家在往U盘,移动硬盘传东西的时候,总是喜欢在本地把文件复制(缺德的还会用剪切)然后在打开U盘选择粘贴,其实完全没必要使用那么多步骤,不知道大家注意没有,只要在你本地的文件上右键--发送到--你的 ...
- Linux及安全——模块
Linux及安全——模块 一.模块的编译.生成.测试.删除 1.编写模块代码 编写:gedit test.c 查看:cat test.c 2.查看版本信息 3.编写Makefile obj-m :这个 ...