File character input stream

File character input stream

The difference with FileInputStream FileReader creates char array character input

​ FileInputStream creates byte array byte input

It can only read ordinary text , but cannot read sound, video and other files. It is more convenient and quick to read the text content.

Similar to the byte input stream. Note that the created array is char[], not byte[]

fileReader = new FileReader("testfile");
char[]chars = new char[4];
int readcount = 0;
while ((readcount = fileReader.read(chars))!=-1){
    
    
    System.out.println(new String(chars,0,readcount));
}

File character output stream

Can be directly written to the String type

fileWriter = new FileWriter("filewriter");
//1.建立一个char数组,把数组全部内容写入文件
char[] chars = {
    
    '你','好','啊','哈'};
int readcount =0;
fileWriter.write(chars);
//写入数组部分内容
fileWriter.write(chars,0,2);
//2.直接写入String字符串
fileWriter.write("我在学java");
fileWriter.write("\n")
fileWriter.write("输入一个换行符")
fileWriter.flush();

Compare byte output stream

Cannot directly write to String, need to convert the string to an array through getBytes

String string = "我正在学习文件字符输出流";
//把字符串转变成数组getBytes()
byte[]bytes2 = string.getBytes();
fos.write(bytes2);

Only ordinary text files can be copied using FileReader and FileWriter

No reader.avilable() can only be while

reader = new FileReader("D:\\新建文件夹\\test1.txt");
writer = new FileWriter("C:\\Users\\ThinkPad\\Desktop\\学习笔记\\test1.txt");
char[]chars = new char[4];
int readcount = 0;
while ((readcount=reader.read(chars))!=-1){
    
    
    writer.write(chars);
}

Guess you like

Origin blog.csdn.net/weixin_43903813/article/details/112727859