用OutputStream 下的一个实现类FileOntputStream


我们通过字节输出流的write方法写出数组
public class OutputStream {
public static void main(String[] args) throws IOException {
FileOutputStream is = new FileOutputStream("FileStudy\\src\\main\\java\\com\\file\\test\\OutPutStreamtest.txt");//创建输出流对象
byte[] bytes = "我爱你中国1314520Loveyou".getBytes();//把文本字节写出
is.write(bytes);
is.close();
}
}


我们还可以通过write方法写出一个数组,指定从哪开始写,从哪结束
public static void main(String[] args) throws IOException {
FileOutputStream is = new FileOutputStream("FileStudy\\src\\main\\java\\com\\file\\test\\OutPutStreamtest.txt");//创建输出流对象
byte[] bytes = "我爱你中国1314520Loveyou".getBytes();//把文本字节写出
//is.write(bytes);
is.write(bytes,0,12);
is.close();
}

这样我们写出12个字节,那么会在文件中写出‘’我爱你中‘’四个汉字
设置写出数据是时追加数据而不是覆盖,在创建输出流对象时,append参数设置为true就会追加数据
public class OutputStreamTest {
public static void main(String[] args) throws IOException {
//覆盖管道,会覆盖之前的数据
//FileOutputStream is = new FileOutputStream("FileStudy\\src\\main\\java\\com\\file\\test\\OutPutStreamtest.txt");//创建输出流对象
//追加管道
OutputStream is = new FileOutputStream("FileStudy\\\\src\\\\main\\\\java\\\\com\\\\file\\\\test\\\\OutPutStreamtest.txt", true);
byte[] bytes = "我爱你中国1314520Loveyou".getBytes();//把文本字节写出
//is.write(bytes);
is.write(bytes,0,bytes.length);
is.close();
}
}

运行一次追加一次
输出数据后再次输出数据时换行 用字符“\r\n”
public static void main(String[] args) throws IOException {
//覆盖管道,会覆盖之前的数据
//FileOutputStream is = new FileOutputStream("FileStudy\\src\\main\\java\\com\\file\\test\\OutPutStreamtest.txt");//创建输出流对象
//追加管道
OutputStream is = new FileOutputStream("FileStudy\\\\src\\\\main\\\\java\\\\com\\\\file\\\\test\\\\OutPutStreamtest.txt", true);
byte[] bytes = "我爱你中国1314520Loveyou".getBytes();//把文本字节写出
//is.write(bytes);
byte[] bytes1 = "\r\n".getBytes();
is.write(bytes1);
is.write(bytes,0,bytes.length);
//换行、
// \r\n
is.close();
}

文件复制:
一:使用readAllBytes()
InputStream is = new FileInputStream("D:\\资源图片\\主图\\06.jpg");
File file = new File("D:\\资源图片\\主图\\06.jpg");
byte[] bytes = is.readAllBytes();
FileOutputStream os = new FileOutputStream("D:\\资源图片\\主图\\demo\\06.jpg");
os.write(bytes);
os.close();
is.close();
二:使用事先定义好的数组
public static void main(String[] args) throws IOException {
/**
* 文件复制
*
*/
//创建源文件
InputStream is = new FileInputStream("D:\\资源图片\\主图\\06.jpg");
File file = new File("D:\\资源图片\\主图\\06.jpg");
byte[] bytes = new byte[1024];
FileOutputStream os = new FileOutputStream("D:\\资源图片\\主图\\demo\\016.jpg",true);
while (is.read(bytes)!=-1){
os.write(bytes);
}
os.close();
is.close();
}