字节流写数据
1.字节流写数据三种方式
-
void write(int b):将指定的字节写入此文件输出流一次写一个字节数据
package com.bytestream; import java.io.FileOutputStream; import java.io.IOException; public class FileOutputStreamDemo02 { public static void main(String[] args) throws IOException { //FileOutputStreamDemo01(String name):创建文件输出流以指定的名称写入 FileOutputStream fos=new FileOutputStream("基础语法\\fos.txt"); //void write(int b):将指定的字节写入此文件的输出流一次写一个字节数据 fos.write(97); fos.write(98); fos.write(99); fos.write(100); fos.write(101); fos.close(); } }
-
void write(byte[] b):将b.length字节从指定的字节数组写入此文件输出流一次写一个字节数组的数据
package com.bytestream; import java.io.FileOutputStream; import java.io.IOException; public class FileOutputStreamDemo02 { public static void main(String[] args) throws IOException { FileOutputStream fos=new FileOutputStream("基础语法\\fos.txt"); //void write(byte[] b):将b.length字节从指定的字节数组中写入此文件输出流,一次写一个字节数组数据 byte[] bys={97,98,99,100,101}; fos.write(bys); fos.close(); } }
-
void write(byte[] b,int off,int len):将len字节从指定的字节数组开始,从偏移量off开始写入此文件输出流,一次写一个字节数组的部分数据
package com.bytestream; import java.io.FileOutputStream; import java.io.IOException; public class FileOutputStreamDemo02 { public static void main(String[] args) throws IOException { FileOutputStream fos=new FileOutputStream("基础语法\\fos.txt"); //void write(byte[],int off,int len):将len字节从指定的字节数组开始,从偏移量off开始写入文件输出流 byte[] bys={97,98,99,100,101}; fos.write(bys,1,3); fos.close(); } }
2.字节流写数据两个问题
字节流写数据如何实现换行呢?
-
写完数据后,加换行符
windows:\r\n
linux:\n
mac:\r
字节流写数据如何实现追加写入呢?
- public FileOutputStream(String name,boolean append)
- 创建文件输出流以指定的名称写入文件,如果第二个参数为true,则字节追加写入文件的末尾而不是开头
package com.bytestream;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileOutputStreamDemo03 {
public static void main(String[] args) throws IOException {
//创建字节输出流对象,true表示追加写入,末尾添加
FileOutputStream fos=new FileOutputStream("基础语法\\fos.txt",true);
//写数据
for (int i = 0; i < 10; i++) {
//写10次hello
//byte[] getBytes():返回字符串对应的字节数组
fos.write("hello".getBytes());
fos.write("\r\n".getBytes());
}
//释放资源
fos.close();
}
}