java 类与接口初学编程题

1.创建一个程序,实现将键盘上输入的字符在屏幕上显示出来。
2.读入一个文件的内容拷贝到另一个文件中。(使用文件输入输出流)
3.设计一个类及其测试类,具体要求如下:
(1)从标准设备中输入若干行英文句子,直到输入“bye”结束,
(2)将“byte”前的字符都写入到一个文件中,
(3)编写测试类予以测试。
1.进一步熟悉Java IO相关的类的结构和方法。
2.掌握字节流和字符流的基本使用方法。
3.理解随机存取文件,掌握文件类File的使用,并能创建、读写更新文件。。
4.掌握使用java I/O实现文件的读写方法。

    创建一个程序,实现将键盘上输入的字符在屏幕上显示出来。

  使用方法:在控制台"Input:"后面输入字符后回车即可

import java.util.*;

public class SimpleConsole {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.print("Input:");
        String inputContent = in.nextLine();
        in.close();
        System.out.println("Content:" + inputContent);
    }
}

2.读入一个文件的内容拷贝到另一个文件中。(使用文件输入输出流)

  使用方法:编译FileTest.java,执行FileTest。

                    "Input File:"后面输入源文件(包含扩展名,必须先建立该文件),如 hello.txt

                    "Output File:"后面输入目标文件(包含扩展名),如 copy.txt

import java.util.*;
import java.io.*;

// Test Class
public class FileTest {
    public static void main(String args[]) {
        Scanner in = new Scanner(System.in);
     System.out.print("Input File:");
        String inputFile = in.nextLine();
        System.out.print("Output File:");
        String outputFile = in.nextLine();
        FileOPS file = new FileOPS(inputFile, outputFile);
        file.copyFile();
        in.close();
    }
}

// File Class
class FileOPS {
    private String inputFile;
    private String outputFile;
    private FileInputStream fis = null;
    private FileOutputStream fos = null;
    
    public FileOPS(String inputFile, String outputFile) {
        this.inputFile = inputFile;
        this.outputFile = outputFile;
    }
    
    public void copyFile() {
        this.writeFile(this.readFile());
    }

    private byte[] readFile() {
        byte[] data = new byte[2048];
        try {
            fis = new FileInputStream(inputFile);
            int n = fis.read(data);
        } catch (Exception ex) {
            ex.printStackTrace();
        } finally {
            try {
                fis.close();
            } catch (Exception ex) {
                
            }
        }
        
        return data;
    }
    
    private void writeFile(byte[] content) {
        
        try {
            fos = new FileOutputStream(outputFile);
            fos.write(content);
        } catch (Exception ex) {
            ex.printStackTrace();
        } finally {
            try {
                fos.close();
            } catch (Exception ex) {
                
            }
        }
    }
}

3.设计一个类及其测试类,具体要求如下:
(1)从标准设备中输入若干行英文句子,直到输入“bye”结束,
(2)将“byte”前的字符都写入到一个文件中,
(3)编写测试类予以测试。

使用方法:"Output File:"后面输入目标文件(包含扩展名)

                 回车起一新行输入“bye”结束操作。

import java.util.*;
import java.io.*;

public class ConsoleTest {
    public static void main(String args[]) {
        Scanner in = new Scanner(System.in);
        System.out.print("Output File:");
        String outputFile = in.nextLine();
        ConsoleFile confile = new ConsoleFile(outputFile);
        confile.inputChar();
        in.close();
    }
}

class ConsoleFile {
    private String outputFile;
    private String separator = System.getProperty("line.separator");
    
    public ConsoleFile(String outputFile) {
        this.outputFile = outputFile;
    }
    
    public void inputChar() {
        Scanner in = new Scanner(System.in);
        String content;
        String results = "";
        while (!(content = in.nextLine()).equals("bye")) {
            results += content + separator;
        }
        in.close();
        writeFile(results);
    }
    
    private void writeFile(String content) {
        FileOutputStream fos = null;
        try {
            fos = new FileOutputStream(outputFile);
            fos.write(content.getBytes());
        } catch (Exception ex) {
            ex.printStackTrace();
        } finally {
            try {
                fos.close();
            } catch (Exception ex) {
                
            }
        }
    }
}

追问

太谢谢您了,可不可以麻烦您帮我在第二和第三个代码后加些注释,我是初学者,有些地方看不懂,麻烦了。

追答

2

3

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答