1.OutputStream 和InputStream

  输入和输出:1.参照物都是java程序来惨遭

        2.Input输入,持久化上的数据----》内存

        3.Output输出,内存---》硬盘

  字节输出流:

    OutputStream:

      定义:流按照方向可以分为输入和输出流,字节流可以操作任何数据,字符流只能操作纯字符数据。

      IO流父类:OutputStream和InputStream

  IO流程序书写步骤:

       1.先导包

       2.进行异常处理

       3.释放资源

2FileOutputStream

  是OutputStream的子类

  1.1文件输出流是用于将数据写入 FileFileDescriptor 的输出流。

  1.2.创建流

public class Demo {
public static void main(String[] args) throws Exception {
/* 步骤 1创建流 子类对象 绑定数据目的
* 2 调用write() 方法
* 3 close 关闭资源
*
* */
FileOutputStream fos = new FileOutputStream("d:\\aaa.txt");
// 调用write() 方法 写一个字节
fos.write(97);
// 写字节数组
byte[] b = {65,66,67,68};
fos.write(b);
// 写字节数组的一部分
fos.write(b,1,2);
//2.3写字符串 getBytes() 字符串转字节
fos.write("hello world".getBytes());
//关闭资源
fos.close();
}
}

  文件的换行和续写,即每次刷新程序,都会在原有的基础上重新添加数据

public class Demo {
public static void main(String[] args) throws Exception {
/*
* 换行和续写
*/
File file = new File("d:\\b.txt");
FileOutputStream fos = new FileOutputStream(file,true);
fos.write("hello\r\n".getBytes());
fos.write("world\\r\n".getBytes());
//关闭流
fos.close();
}
}

3FileInputStream流

  是InputStream的子类

  2.1FileInputStream 从文件系统中的某个文件中获得输入字节。

  2.2创建流

    字符读取(读取速度慢)

public class Demo {
public static void main(String[] args){
// 1创建字节输入流的子类对象
//2 调用方法读取 read
//3 关闭资源
try {
FileInputStream fis = new FileInputStream("d:\\aaa.txt");
int len = 0;
while((len=fis.read())!=-1) {
System.out.print((char)len);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }
}

    字节数组读取(读取速度快)

public class Demo {
public static void main(String[] args){
// 1创建字节输入流的子类对象
//2 调用方法读取 read
//3 关闭资源
try {
FileInputStream fis = new FileInputStream("d:\\aaa.txt");
//创建字节数组
byte[] b = new byte[1024];
int len = 0;
while((len = fis.read(b))!=-1) {
System.out.println(new String(b,0,len));
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

java_24 FileOutputStream类和FileInputStream类的更多相关文章

  1. 字节流, FileOutputStream类,FileInputStream类,复制文件,字符流

    字节输出流OutputStream OutputStream此抽象类,是表示输出字节流的所有类的超类.操作的数据都是字节 基本方法: 子类可继承调用以上方法 FileOutputStream类 构造方 ...

  2. FileInputStream 类与 FileReader 类的区别

    FileInputStream 类与 FileReader 类的区别: 两个类的构造函数的形式和参数都是相同的,参数为 File 对象或者表示路径的 String ,它们到底有何区别呢? FileIn ...

  3. java----FileInputStream类与FileReader类的区别(转)

    FileInputStream类与FileReader类的区别:两个类的构造函数的形式和参数都是相同的,参数为File对象或者表示路径的String,它们到底有何区别呢? Readers and W ...

  4. 字节流与字符流(FileInputStream类和FileOutputStream类)

    FileInputStream类和FileOutputStream类中,第一个类的源端和第二个类的目的端都是磁盘文件,它们的构造方法允许通过文件的路径名来构造相应的流.例如: FileInputSte ...

  5. FileInputStream类与FileOutputStream类

    FileInputStream类是InputStream类的子类.他实现了文件的读取,是文件字节输入流.该类适用于比较简单的文件读取,其所有方法都是从InputStream类继承并重写的.创建文件字节 ...

  6. FileInputStream与FileOutputStream类 Reader类和Writer类 解析

    FileInputStream和FileOutputStream类分别用来创建磁盘文件的输入流和输出流对象,通过它们的构造函数来指定文件路径和文件名. 创建FileInputStream实例对象时,指 ...

  7. FileInputStream类

    FileInputStream和FileOutPutStream类都是用来操作磁盘文件的.如果用户对文件读取需求比较简单,则可以使用FileInputStream类,该类继承InputStream类 ...

  8. 字节输出流的续写和换行和字节输入流InputStream类&FileInputStream类介绍

    数据追加续写 每次程序运行,创建输出流对象,都会清空目标文件中的数据.如何保目标文件中的数据,还能继续添加新数据呢? public FileOutputStream(File file,boolean ...

  9. [转]探究java IO之FileInputStream类

    使用FileInputStream类创建的InputStream对象可以用于从文件读取内容.两个常用的构造函数如下所示: ? 1 2 FileInputStream(String filePath) ...

随机推荐

  1. c#利用ApplicationContext类 同时启动双窗体的实现

    Application类(位于System.Windows.Forms命名空间)公开了Run方法,可以调用该方法来调度应用程序进入消息循环.Run方法有三个重载 1.第一个重载版本不带任何参数,比较少 ...

  2. Excel技巧--文件批处理

    先认识几个dos命令: ren 旧文件名 新文件名:更改文件名: dir 文件路径 /b > 目标路径/表名.xls:查询指定文件路径下的所有文件,写入到目标路径下的excel文件中: md 新 ...

  3. sql server 作业收缩数据库

    USE[master] GO ALTER DATABASE PayFlow2 SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE PayFlow2 S ...

  4. Spark 性能调优-内存设置-GC设置

    http://mt.sohu.com/20150604/n414449770.shtml http://my.oschina.net/mkh/blog/330386 http://itindex.ne ...

  5. PAT 乙级 1092 最好吃的月饼 (20 分)

    1092 最好吃的月饼 (20 分) 月饼是久负盛名的中国传统糕点之一,自唐朝以来,已经发展出几百品种. 若想评比出一种“最好吃”的月饼,那势必在吃货界引发一场腥风血雨…… 在这里我们用数字说话,给出 ...

  6. jmeter分布式、linux运行

    一.jmeter分布式压测(多台电脑一起压测) 1.有多台电脑,每台电脑上都有jmeter,而且这几台电脑都互相能ping通 2.在我的电脑的jmeter,bin目录下,修改jmeter.proper ...

  7. Program type already present: android.support.v4.widget.EdgeEffectCompat

    1.确保所有依赖包的 implementation 'com.android.support:appcompat-v7:25.4.0'是一样的 2.确保最外层的build.gradle中增加如下代码: ...

  8. swift kvc赋值

    1定义模型属性的时候,如果是对象,通常都是可选的(在需要的时候创建,避免写构造函数,简化代码) 2如果是基本数据类型,不能设置成可选的(运行时获取不到属性),而且要设置初始值,否则KVC会崩溃 3使用 ...

  9. JavaScript: DOM Docunment

    Meaning: In browser , we exchange data using JavaScript code with user. We should know that most of ...

  10. linux 权限之acl

    查看分区ACL权限是否开启 centos 6 dumpe2fs -h /dev/sda1(是查看ext2/ext3/ext4 文件系统信息的命令) centos 7   xfs_growfs /dev ...