1.使用Fileoutputstream对象,如果在目录中已经存在该文件,那么将不会在创建,如果该目录中没有该文件,那么将会自动创建文件。
2.在目录中a.txt文件中写入一个h字符,这种方式是写入单个字符。
//在目录中a.txt文件中写入一个h字符
String path = "d:\\a.txt";
FileOutputStream fileOutputStream = new FileOutputStream(path);
fileOutputStream.write('h');
3.如果想写入一个字符串内容,那么可以使用字符数组的形式传进去内容
//在目录中a.txt文件中写入一个h字符
String path = "d:\\a.txt";
String content = "hello world";
FileOutputStream fileOutputStream = new FileOutputStream(path);
//通过getBytes()方法将字符串转换为字节数组
fileOutputStream.write(content.getBytes());
4.还有另外一种方式,可以添加一个字符串内容
//在目录中a.txt文件中写入一个h字符
String path = "d:\\a.txt";
String content = "hello world";
FileOutputStream fileOutputStream = new FileOutputStream(path);
//通过getBytes()方法将字符串转换为字节数组
//使用字节数组写入文件(字符数组 , 从第几个字符开始, 长度为几个 )
fileOutputStream.write(content.getBytes(),0,content.length());
修改一下索引的值,然后看一下结果
//在目录中a.txt文件中写入一个h字符
String path = "d:\\a.txt";
String content = "hello world";
FileOutputStream fileOutputStream = new FileOutputStream(path);
//通过getBytes()方法将字符串转换为字节数组
//使用字节数组写入文件(字符数组 , 从第几个字符开始, 长度为前几个 )
fileOutputStream.write(content.getBytes(),0,5);
5.但是你们发现了没有,如果这样添加值,前面的值会被覆盖掉,如果说不想被覆盖掉,要在
FileOutputStream fileOutputStream = new FileOutputStream(path,true);添加一个true。
//在目录中a.txt文件中写入一个h字符
String path = "d:\\a.txt";
String content = "hello world";
FileOutputStream fileOutputStream = new FileOutputStream(path,true);
//通过getBytes()方法将字符串转换为字节数组
//使用字节数组写入文件(字符数组 , 从第几个字符开始, 长度为前几个 )
fileOutputStream.write(content.getBytes(),0,5);
看结果:
在运行一次程序,看结果:
此时会发现,前面的值没有被覆盖掉。
总结:在开发中,一般会用后面两种方式。