根据Java输入输出流的知识,编写程序,题目要求: (1) 键盘输入10个整数,从小到大进行排序。 (2) 接收键盘输入的字符串,用FileInputStream类将字符串写入文件,用FileOutputStream类读出文件内容显示在屏幕上。(文件存储位置和名字自行定义) (3)将一个文本文件的内容按行读出,每读出一行就顺序加上行号,并写入到另一个文件中。
时间: 2023-06-02 19:06:17 浏览: 140
编写程序实现以下功能:从键盘输入十个整数,用冒泡法排序后按从小到大输出
好的,我可以回答关于Java输入输出流的问题。
(1) 这题需要使用数组和循环语句,先将10个整数读入数组中,再用循环语句进行排序,最后输出排序后的结果。可以参考如下代码:
```
import java.util.Scanner;
import java.util.Arrays;
public class SortNumber {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] nums = new int[10];
System.out.println("请输入10个整数:");
for(int i=0;i<nums.length;i++){
nums[i] = sc.nextInt();
}
Arrays.sort(nums);
System.out.println("排序后的结果为:");
for(int i=0;i<nums.length;i++){
System.out.print(nums[i] + " ");
}
}
}
```
(2) 首先需要用Scanner类从键盘上获取输入的字符串,再利用FileOutputStream类写入到文件中。读取文件内容则需要用FileInputStream类,最后输出显示在屏幕上。代码如下:
```
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.Scanner;
public class InputOutputFile {
public static void main(String[] args) throws Exception {
Scanner sc = new Scanner(System.in);
System.out.println("请输入要写入文件的字符串:");
String s = sc.nextLine();
FileOutputStream fos = new FileOutputStream("test.txt");
fos.write(s.getBytes());
fos.close();
FileInputStream fis = new FileInputStream("test.txt");
byte[] data = new byte[fis.available()];
fis.read(data);
fis.close();
String content = new String(data);
System.out.println("文件内容为:" + content);
}
}
```
(3) 这题需要用到BufferedReader类和PrintWriter类。先从一个文件读取每行内容,加上行号后再写入到另一个文件中。代码如下:
```
import java.io.*;
public class ReadAndWriteFile {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new FileReader("test1.txt"));
PrintWriter pw = new PrintWriter(new FileWriter("test2.txt"));
String line;
int i=1;
while((line = br.readLine()) != null){
pw.println(i++ + " " + line);
}
pw.close();
br.close();
System.out.println("文件内容已按行号写入到test2.txt文件中。");
}
}
```
阅读全文