输出字节流

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/myloveprogrmming/article/details/82871122
package a;

import java.io.*;
//OutputStream:
//OutputStream称为输出字节流,OutputStream是抽象类,是所有输出字节流的父类。
//任何文件都以字节形式存储,字节流每次只操作一个字节(可以操作任何文件)
//OutputStream的作用:从JAVA程序写出文件
//OutputStream可以写任意文件(不能操作文件夹) 方法都是写入文件的方法
//OutputStream中的方法:
//1 write(int )表示ascii码
//2 write(byte[] b)写入一个字符数组
//3 write(byte[] b,int off,int lem)off表示从数组第off个索引开始写,写len个字符
//4 close()关闭流对象,释放与此流相关的流资源
//OutputStream的子类:(名字前面表示能干什么事,后面表示父类的名字)
//1 ByteArrayOutStream
//2 FileOutputStream
//3 ObjectOutputStream
//4 PipedOutputStream
//5 FilterOutputStream过滤流
//子类的构造方法:绑定输出目的 参数:1File 2String
//流对象的使用步骤:1创建子类的对象,绑定输出目的 2调用对象的方法write()写 3close()释放资源



//写一个字节
public class TestE {

	public static void main(String[] args)throws IOException
	{
		//如果文件不存在会创建文件,如果文件已经存在会覆盖
		FileOutputStream fos1=new FileOutputStream("d:\\a.txt");//报异常(文件可能不存在)
		fos1.write(100);//报异常,可能写不进去(例如内存满了) 写入一个字节这里写入的是ascii码100(字母d)
		fos1.close();//关闭流对象,释放与此流相关的资源
		
		//如何在文件中写入100?
		FileOutputStream fos2=new FileOutputStream("d:\\b.txt");
		fos2.write((int)'1');
		fos2.write((int)'0');
		fos2.write((int)'0');
		fos2.close();
		
		//关于覆盖是把整个文件全清空再写还是只是覆盖前面的内容?
		FileOutputStream fos3=new FileOutputStream("d:\\b.txt");
		fos3.write((int)'A');//答案是全部清空再写
		fos3.close();
	}

}
package a;
import java.io.*;
public class TestF {

	public static void main(String[] args) throws IOException
	{
		FileOutputStream fos=new FileOutputStream("d:\\a.txt");
		byte[] b= {97,98,99,100,101};//5个字符(ascii码)
		fos.write(b);//写入字节数组
		//fos.write('\r');//只写\r不能换行
		//fos.write('\n');//只写入\n不能换行
		fos.write("\r\n".getBytes());//可以实现换行
		fos.write((int)'\r');
		fos.write((int)'\n');//两个分开写也可以实现换行
		fos.write("HELLO WORLD".getBytes());//简单形式
		fos.write(b,1,2);//从b1索引开始写入两个字节
		//fos.write("\n".getBytes());
		fos.write("My name is ju ruo\n".getBytes(),0,2);
		fos.close();
	}

}

追加和换行:
 

public class TestF {

	public static void main(String[] args) throws IOException
	{
		File file=new File("d:\\a.txt");
		FileOutputStream fos=new FileOutputStream(file,true);//第二个参数为true代表追加,为false(默认)为覆盖
		fos.write("Hello\r\nWorld".getBytes());
		fos.close();
	}

}

输出:

猜你喜欢

转载自blog.csdn.net/myloveprogrmming/article/details/82871122
今日推荐