IO流文件的读写操作

  • 字符流有两个抽象类:Writer   Reader。其对应子类FileWriter,FileReader可实现文件的读写操作
  • 同样,字节流也有两个抽象类:InputStream OutputStream。其对应子类有FileInputStream,FileOutputStream可实现文件读写
  • IO流中的重要方法:read()方法返回-1,readLine方法返回null。用法列如:while((line=br.readLine())!=null)。Scanne类中的hasNext()方法如果此扫描器的输入中有另一个标记,则返回 true。hasNextLine()方法如果在此扫描器的输入中存在另一行,则返回 true。next() 方法查找并返回来自此扫描器的下一个完整标记,nextLine() 此扫描器执行当前行,并返回跳过的输入信息。
  • 在I/O流中可以创建文件对象,并且带入文件名的类,常见的有以下7种:

  File file=new File("word.txt");

  FileInputStream fis=new FileInputStream("word.txt");

  FileOutputStream fos=new FileOutputStream("word.txt");

  FileReader (String filename);

  FileWriter (String filename);

  PrintStream (String filename);

  PrintWriter (String filename);

  • 文件File是java.io包中的一个重要的非流类。File以一种系统无关的方式表示一个文件对象的属性。
  • File类用于创建目录的方法是mkdir(),用于创建父目录的方法是mkdirs().

InputStream,BufferedInputStream

read()

public abstract int read() throws IOException

从输入流中读取数据的下一个字节。返回 0 到 255 范围内的 int 字节值。如果因为已经到达流末尾而没有可用的字节,则返回值 -1。在输入数据可用、检测到流末尾或者抛出异常前,此方法一直阻塞。

返回:

下一个数据字节;如果到达流的末尾,则返回 -1。

close()

关闭此输入流并释放与该流关联的所有系统资源。

OutputStream,BufferedOutputStream

write()

public void write(int b) throws IOException

将指定的字节写入此缓冲的输出流。

参数:

b - 要写入的字节。

close()

关闭此输出流并释放与此流有关的所有系统资源。

BufferedReader

read()

public int read() throws IOException

读取单个字符

返回:

作为一个整数(其范围从 0 到 65535 (0x00-0xffff))读入的字符,如果已到达流末尾,则返回 -1

readLine

public String readLine() throws IOException

读取一个文本行。通过下列字符之一即可认为某行已终止:换行 (‘\n‘)、回车 (‘\r‘) 或回车后直接跟着换行。

返回:

包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾,则返回 null

close()

关闭该流并释放与之关联的所有资源。

Reader,InputStreamReader

read()

public int read() throws IOException

将字符读入数组。在某个输入可用、发生 I/O 错误或者已到达流的末尾前,此方法一直阻塞

返回:

读取的字符,如果已到达流的末尾,则返回 -1

close()

关闭该流并释放与之关联的所有资源。

BufferedWriter

write(int c)

写入单个字符。

newLine()

public void newLine() throws IOException

写入一个行分隔符。行分隔符字符串由系统属性 line.separator 定义,并且不一定是单个新行 (‘\n‘) 符。

返回:

包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾,则返回 null

close()

关闭此流,但要先刷新它。

Writer,OutputStreamWriter

write()

public void write(int c) throws IOException

写入单个字符。要写入的字符包含在给定整数值的 16 个低位中,16 高位被忽略。

用于支持高效单字符输出的子类应重写此方法。

参数:

c - 指定要写入字符的 int。

close()

关闭此流,但要先刷新它。

例题:复制文件:把文件a.txt从D盘复制到E盘,操作方法如下。

  • 方法一:

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

public class Q2 {

public static void main(String[] args) throws IOException {

BufferedReader br = new BufferedReader(new FileReader("D:\\a.txt"));

BufferedWriter bw = new BufferedWriter(new FileWriter("E:\\a.txt"));

String line = null;

while((line=br.readLine())!=null){

bw.write(line);

bw.newLine();

}

bw.close();

}

}

  • 方法二

import java.io.File;

import java.io.IOException;

import java.io.PrintWriter;

import java.util.Scanner;

public class test4 {

public static void main(String[] args) throws IOException {

File file = new File("C://a.txt");

Scanner sc=new Scanner(file);

PrintWriter pw=new PrintWriter("D://a.txt");

while(sc.hasNextLine()){

String str=sc.nextLine();

pw.println(str);

}

pw.close();

}

}

时间: 2024-08-05 19:12:44

IO流文件的读写操作的相关文章

java IO流 ---文件的读写操作

1 package com.io; 2 import java.io.File; 3 import java.io.FileInputStream; 4 import java.io.FileOutputStream; 5 import java.io.FileNotFoundException; 6 import java.io.IOException; 7 public class Test2 { 8 9 /** 10 * @param args 11 * @throws IOExcepti

java IO流文件的读写具体实例(转载)

引言: 关于java IO流的操作是非常常见的,基本上每个项目都会用到,每次遇到都是去网上找一找就行了,屡试不爽.上次突然一个同事问了我java文件的读取,我一下子就懵了第一反应就是去网上找,虽然也能找到,但自己总感觉不是很踏实,所以今天就抽空看了看java IO流的一些操作,感觉还是很有收获的,顺便总结些资料,方便以后进一步的学习... IO流的分类:1.根据流的数据对象来分:高端流:所有的内存中的流都是高端流,比如:InputStreamReader  低端流:所有的外界设备中的流都是低端流

C# 运用StreamReader类和StreamWriter类实现文件的读写操作

对文件的读写操作应该是最重要的文件操作,System.IO命名空间为我们提供了诸多文件读写操作类,在这里我要向大家介绍最常用也是最基本的StreamReader类和StreamWriter类.从这两个类的名称我们不难发现它们都是基于流的读写操作类. 我们可以通过File类的OpenText()方法来获取一个StreamReader对象,通过该对象我们可以实现对文本文件的读操作,方法如下:  Console.WriteLine("Reading the contents from the file

File --文件的读写操作

File --文件的读写操作------------------- 1. 通过数组实现对一组数据的写入 1 package day01; 2 3 import java.io.FileNotFoundException; 4 import java.io.IOException; 5 import java.io.RandomAccessFile; 6 7 /** 8 * 批量写入一组字节 9 * @author Administrator 10 * 11 */ 12 public class

C/C++关于文件的读写操作以及文件的打开和保存

通过近来的学习,总结一下关于文件的读写操作以及文件的打开和保存的方法. 一.文件的读写操作: (1)C语言对文件的读写操作 在C语言中,对文件的读写操作是用FILE结构体和常用的对文件操作的函数实现的,下面总结一下C语言中对文件操作的常用函数: fopen()   打开以文件名指定的文件 fwrite()  写文件 fread()  读文件 fseek()  移动文件的指针到新的位置通过该函数的参数设定的偏移量和初始位置 rewind()  移动文件的指针到文件流的开始位置,在通常情况下可用fs

Java 对不同类型的数据文件的读写操作整合器[JSON,XML,CSV]-[经过设计模式改造](2020年寒假小目标03)

日期:2020.01.16 博客期:125 星期四 我想说想要构造这样一个通用文件读写器确实不容易,嗯~以后会添加更多的文件类型,先来熟悉一下文件内容样式: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <beangroup> 3 <javabean> 4 <data name='code'>A001</data> 5 <data name='name'>

使用shell脚本简单模拟对特定文件同时读写操作

使用shell脚本简单模拟对特定文件同时读写操作文件内容的格式:field1    ,       field2    , field3    ,       field4以,为分隔符,但是存在空格. 脚本用法如下: ./check_write_read.sh 10 输出结果: Thu Apr 27 19:59:44 CST 2017:Read operation finished 670 Thu Apr 27 19:59:44 CST 2017:Write operation finished

IO流--文件处理

import java.io.*; public class io { public static void main(String[] args) { ListDemo(); File dir = new File("e:\\java\\Java学习视频\\20IO"); showDir(dir); } //在指定目录中删选出文件 public static void ListDemo() { File dir = new File("d:\\"); String

【Python】Python对文件的读写操作

刚刚接触Python,感觉其对文件的操作还是很方便的.下面是我入门Python对文件操作的一个简单程序,希望对初学者有所帮助. test.py def processFile(inputFile, outputFile): #定义一个函数 fin = open(inputFile, 'r') #以读的方式打开文件 fout = open(outputFile, 'w') #以写得方式打开文件 for eachLine in fin: #读取文件的每一行 line = eachLine.strip