java用重定向方法从文件中读入或写入数据

时间:2021-11-19 05:35:13

重定向方法从文件中读入或写入数据

1.问题描述

  先产生10000个随机数,每十个一行,放入文件中。(用重定向方法)
   用重定向方法,从文件中读入10000个数字,打印出前十名。(不许调用排序方法)

2.程序如下:

2.1 写入

java" id="highlighter_86113">
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import java.util.Scanner;
import java.util.List;
import java.util.ArrayList;
public class A{
  
  static void to_txt(){
    for(int i=1;i<=10000;i++){
      System.out.print((int)(Math.random()*10000+1)+" ");
      if(i%10==0) System.out.println(); 
    }
  }
    public static void main(String[] args){
    to_txt();
      
  }   
}

2.2 读出

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import java.util.Scanner;
import java.util.List;
import java.util.ArrayList;
public class A{
  
    static void read_txt(int k){//此处参数表示打印前k项
    List<Integer> lst = new ArrayList<Integer>();
    Scanner scan = new Scanner(System.in);
    String s = scan.nextLine();
    String[] x = s.split(" ");
    lst.add(Integer.parseInt(x[0])); 
    for(int i=1;i<x.length;i++){
      int b = Integer.parseInt(x[i]);
      if(b<lst.get(lst.size()-1)){
        lst.add(b);
        continue;
      }
      for(int j=0;j<lst.size();j++){
        if(b>lst.get(j)){
          lst.add(j,b);
          break;
        }
      }
        
    }
    for(int i=0;i<k;i++){
      
      System.out.print(lst.get(i)+" ");
    }   
  }
  public static void main(String[] args){
    read_txt(10); 
  }   
}

3.运行结果

3.1、从Java文件位置进入控制台,在控制台输入Java文件 > txt文件,就能将运行结果写入指定txt文件(要写入的文件)中。

此时运行结果不在控制台显示,而写入了指定文件中

java用重定向方法从文件中读入或写入数据

3.2、在Java文件位置处进入控制台,在控制台输入Java + 文件名 < 指定txt文件(要读的文件)

如下图即为要输出的所读入的数据的前十项。

java用重定向方法从文件中读入或写入数据

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。