创建一个程序,实现将键盘上输入的字符在屏幕上显示出来。
使用方法:在控制台"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
