你自己的 FileWriter

实现 FileConsoleWriter 的逻辑。
FileConsoleWriter 类必须包含名为 fileWriter 的 private clFileWriter 字段。
FileConsoleWriter 类必须对每个使用的构造方法初始化用于写入的 fileWriter。
FileConsoleWriter 类必须包含 5 个 write 方法和一个 close 方法。

  • public void write(char[] cbuf, int off, int len) throws IOException
  • public void write(int c) throws IOException
  • public void write(String str) throws IOException
  • public void write(String str, int off, int len) throws IOException
  • public void write(char[] cbuf) throws IOException
  • public void close() throws IOException

在将数据写入文件时,FileConsoleWriter 还必须将数据写入控制台。
Requirements:

    1. FileConsoleWriter 类必须包含名为 fileWriter 的 private FileWriter 字段,该字段应立即初始化。
    1. FileConsoleWriter 类必须包含五个构造方法,这些方法初始化用于写入的 fileWriter。
    1. FileConsoleWriter 类必须包含 write(char[] cbuf, int off, int len) throws IOException 方法,该方法应将数据写入 fileWriter 以及控制台。
    1. FileConsoleWriter 类必须包含 write(int c) throws IOException 方法,该方法应将数据写入 fileWriter 以及控制台。
    1. FileConsoleWriter 类必须包含 write(String str) throws IOException 方法,该方法应将数据写入 fileWriter 和控制台。
    1. FileConsoleWriter 类必须包含 write(String str, int off, int len) throws IOException 方法,该方法应将数据写入 fileWriter 和控制台。
    1. FileConsoleWriter 类必须包含 write(char[] cbuf) throws IOException 方法,该方法应将数据写入 fileWriter 和控制台。
    1. FileConsoleWriter 类必须包含 close() throws IOException 方法,该方法应调用 fileWriter 上的相应方法。
  1. package zh.codegym.task.task19.task1917;
  2. /*
  3. 你自己的 FileWriter
  4. */
  5. import java.io.File;
  6. import java.io.FileDescriptor;
  7. import java.io.FileWriter;
  8. import java.io.IOException;
  9. public class FileConsoleWriter {
  10. private FileWriter fileWriter;
  11. public FileConsoleWriter(String fileName) throws IOException {
  12. fileWriter = new FileWriter(fileName);
  13. }
  14. public FileConsoleWriter(String fileName, boolean append) throws IOException {
  15. fileWriter = new FileWriter(fileName, append);
  16. }
  17. public FileConsoleWriter(File file, boolean append) throws IOException {
  18. fileWriter = new FileWriter(file, append);
  19. }
  20. public FileConsoleWriter(File file) throws IOException {
  21. fileWriter = new FileWriter(file);
  22. }
  23. public FileConsoleWriter(FileDescriptor fd) {
  24. fileWriter = new FileWriter(fd);
  25. }
  26. public void write(char[] cbuf, int off, int len) throws IOException {
  27. fileWriter.write(cbuf, off, len);
  28. System.out.println(new String(cbuf, off, len));
  29. }
  30. public void write(int c) throws IOException {
  31. fileWriter.write(c);
  32. System.out.println((char) c);
  33. }
  34. public void write(String str) throws IOException {
  35. fileWriter.write(str);
  36. System.out.println(str);
  37. }
  38. public void write(String str, int off, int len) throws IOException {
  39. fileWriter.write(str, off, len);
  40. System.out.println(str.substring(off, off+len));
  41. }
  42. public void write(char[] cbuf) throws IOException {
  43. fileWriter.write(cbuf);
  44. System.out.println(new String(cbuf));
  45. }
  46. public void close() throws IOException {
  47. fileWriter.close();
  48. }
  49. public static void main(String[] args) {
  50. }
  51. }

答:用自己写的类包装一下要学习的类,哪怕仅仅只是调用一下它的方法!