字符流写数据的5种方式
方法 描述
void write(int c) 写一个字符
void write(charl[] cbuf) 写入一个字符数组
void write(char[] cbuf, int off, int len) 写入字符数组的一部分
void write(String str) 写一个字符串
void write(String str, int off, int len)
写一个字符串的一部分
练习代码
import java.io.*;
public class Character {
public static void main(String[] args) throws IOException {
// 字符流写数据
OutputStreamWriter osw=new OutputStreamWriter(new FileOutputStream("C:\\data\\writer.txt"));
// 写一个字符,结果为:d
osw.write(100);
// 写入一个字符数组,结果为:def
char[] c={100,101,102};
osw.write(c);
// 写入字符数组的一部分,结果为:ef
osw.write(c,1,2);
// 写一个字符串,结果为:落霞与孤鹜齐飞,秋水共长天一色
String s="落霞与孤鹜齐飞,秋水共长天一色";
osw.write(s);
// 写一个字符串的一部分,结果为:孤鹜齐飞
osw.write(s,3,4);
osw.close();
// 字符流读数据
InputStreamReader isr=new InputStreamReader(new FileInputStream("C:\\data\\将进酒.txt"),"UTF-8");
// —次读一个字符数据,这里的结果是将进酒这首诗
int ch;
while((ch=isr.read())!=-1){
System.out.print((char)ch);
}
// 一次读一个字符数组的数据,结果还是将进酒这首诗
char[] cr=new char[1024];
int len;
while((len=isr.read(cr))!=-1){
System.out.print(new String(cr,0,len));
}
isr.close();
}
}
字符流读数据的两种方式
方法 描述
int read() —次读一个字符数据
int read(char[]cbuf) 一次读一个字符数组数据
练习代码
package FilePack;
import java.io.*;
public class WriterText2 {
public static void main(String[] args) throws IOException {
File f1=new File("D:/b.txt");
BufferedReader br=new BufferedReader(new FileReader(f1));
//按行进行读取
String line = br.readLine(); //一直读取,直到读压到了换行符为止
System.out.println(line);
String line1 = br.readLine();
System.out.println(line1);
//读取到最后一行在读取获得的是null
String line2 = br.readLine();
System.out.println(line2);
}
}