FileOutputStream应用实例

  • 该类用来创建一个文件并向文件中写数据。
  • 如果该流在打开文件进行输出前,目标文件不存在,那么该流会创建该文件。
  • 有两个构造方法可以用来创建 FileOutputStream 对象。
  • 使用字符串类型的文件名来创建一个输出流对象:

    法一: OutputStreamf = newFileOutputStream(“C:/java/hello”) 法二: Filef = newFile(“C:/java/hello”); OutputStreamfOut = newFileOutputStream(f);

要求:

请使用FileOutputStream在a.txt文件,中写入“hello, world”,如果文件不存在,会创建文件
(注意:前提是目录已经存在.)

  1. package test;
  2. import org.junit.Test;
  3. import java.io.FileOutputStream;
  4. import java.io.IOException;
  5. /**
  6. * 演示FileOutputStream的使用(字节输入流程序 --> 文件)
  7. */
  8. public class Main {
  9. public static void main(String[] args) {
  10. Main main = new Main();
  11. main.writeFile();
  12. }
  13. /**
  14. * 演示使用FileOutputStream 将数据写到文件中,
  15. * 如果该文件不存在,则创建该文件
  16. */
  17. @Test
  18. public void writeFile() {
  19. //创建 FileOutputStream对象
  20. String filePath = "D:\\a.txt";
  21. FileOutputStream fileOutputStream = null;
  22. try {
  23. //得到 FileOutputStream对象 对象
  24. //1. new FileOutputStream(filePath) 创建方式,当写入内容是,会覆盖原来的内容
  25. //2. new FileOutputStream(filePath, true) 创建方式,当写入内容是,是追加到文件后面
  26. //覆盖内容写法
  27. fileOutputStream = new FileOutputStream(filePath);
  28. //追加内容写法
  29. //fileOutputStream = new FileOutputStream(filePath, true);
  30. //写入一个字节
  31. //fileOutputStream.write('H');//
  32. //写入字符串
  33. String str = "hello world!";
  34. //str.getBytes() 可以把 字符串-> 字节数组
  35. //fileOutputStream.write(str.getBytes());//内容全部写入
  36. //等价于
  37. //fileOutputStream.write(str.getBytes(),0,str.length());
  38. /*
  39. write(byte[] b, int off, int len) 将 len字节从位于偏移量 off的指定字节数组写入此文件输出流
  40. */
  41. fileOutputStream.write(str.getBytes(), 0, 3);//截取写入
  42. } catch (IOException e) {
  43. e.printStackTrace();
  44. } finally {
  45. try {
  46. fileOutputStream.close();
  47. } catch (IOException e) {
  48. e.printStackTrace();
  49. }
  50. }
  51. }
  52. }

image.png