1. 程式人生 > >【java 文件讀寫操作】 生成隨機數,寫入txt,然後從txt中讀出

【java 文件讀寫操作】 生成隨機數,寫入txt,然後從txt中讀出

進行 rac 直接 生成隨機數 catch trace buffered 代碼 tac

1.把生成的隨機數寫入到文件中

 1 public static void WriterFun(){
 2         //獲得路徑
 3         String filepath = System.getProperty("user.dir"); 
 4         filepath += "\\file.txt";
 5         
 6         File file = new File(filepath);
 7         if(!file.exists()){
 8             try {
 9                 file.createNewFile();
10 } catch (IOException e) { 11 e.printStackTrace(); 12 } 13 } 14 try { 15 BufferedWriter bw = new BufferedWriter(new FileWriter(file)); 16 17 Random random = new Random(); 18 for(int i=0;i<10000;i++){
19 int nums = Math.round(random.nextFloat()*1000.0f); 20 //將int 轉化為 String類型 21 bw.write(Integer.toString(nums)); 22 bw.newLine(); 23 } 24 bw.close(); 25 26 } catch (IOException e) { 27 e.printStackTrace();
28 } 29 }

讀取文本數據

 1 public static void fun1Reader(){
 2         
 3         String filepath = System.getProperty("user.dir");
 4         filepath += "\\123.txt";
 5         
 6         File file = new File(filepath);
 7         BufferedReader br;
 8         try {
 9             br = new BufferedReader(new FileReader(file));
10 
11             String tmp;
12             while((tmp = br.readLine()) != null){
13                 System.out.println(tmp);
14             }
15         } catch (Exception e) {
16             // TODO Auto-generated catch block
17             e.printStackTrace();
18         }
19     }

貼出全部代碼

  1.生成10000整形的隨機數存入文本file.txt中

  2.從file.txt中讀取數據並且放入Arraylist中

  3.排序 選擇排序方法進行排序

  4.寫入到files.txt文件中

  1 package com.SortDao;
  2 
  3 import java.io.BufferedReader;
  4 import java.io.BufferedWriter;
  5 import java.io.File;
  6 import java.io.FileNotFoundException;
  7 import java.io.FileReader;
  8 import java.io.FileWriter;
  9 import java.io.IOException;
 10 import java.util.ArrayList;
 11 import java.util.Random;
 12 
 13 
 14 public class WriteAndReader {
 15     
 16 
 17     public static void main(String[] args) {
 18         // TODO Auto-generated method stub
 19         WriterFun();
 20         
 21         // 關於為什麽是Integer 不是int 大家自己網上查找一下
 22         ArrayList<Integer> arrayList =  ReaderFun();
 23         sorts(arrayList);
 24         WriterFunc(arrayList);
 25         arrayList.clear();
 26     }
 27 
 28     //直接寫入生成的隨機數
 29     public static void WriterFun(){
 30         //獲得路徑
 31         String filepath = System.getProperty("user.dir"); 
 32         filepath += "\\file.txt";
 33         
 34         File file = new File(filepath);
 35         if(!file.exists()){
 36             try {
 37                 file.createNewFile();
 38             } catch (IOException e) {
 39                 e.printStackTrace();
 40             }
 41         }
 42         try {
 43             BufferedWriter bw = new BufferedWriter(new FileWriter(file));
 44             
 45             Random random = new Random();
 46             for(int i=0;i<10000;i++){
 47                 int nums = Math.round(random.nextFloat()*10000.0f);
 48                 //將int 轉化為 String類型
 49                 bw.write(Integer.toString(nums));
 50                 bw.newLine();
 51             }
 52             bw.close();
 53             
 54         } catch (IOException e) {
 55             e.printStackTrace();
 56         }
 57     }
 58     
 59     // 讀入寫入file.txt中的隨機數
 60     public static ArrayList<Integer> ReaderFun(){
 61         String filepath = System.getProperty("user.dir"); 
 62         filepath += "\\file.txt";
 63         File file = new File(filepath);
 64         ArrayList<Integer> arrayList  = new ArrayList<Integer>();
 65         if(file.exists()){
 66             try {
 67                 BufferedReader br = new BufferedReader(new FileReader(file));
 68                 String tmp;
 69                 while((tmp = br.readLine()) != null){
 70                     arrayList.add(Integer.valueOf(tmp));
 71                     
 72                 }
 73                 br.close();
 74             } catch (Exception e) {
 75                 e.printStackTrace();
 76             }
 77             
 78         }else{
 79             System.out.println("文件不存在");
 80         }
 81         return arrayList;
 82     }
 83     
 84     // 進行排序(應該是選擇排序)
 85     public static void sorts(ArrayList< Integer> arr){    
 86         for(int i = 0;i < arr.size();i++){
 87             Integer min = arr.get(i);
 88             int position = i;
 89             for(int j=i;j<arr.size();j++){
 90                 if(min>arr.get(j)){
 91                     min=arr.get(j);
 92                     position = j;
 93                 }
 94             }
 95             arr.set(position, arr.get(i)); 
 96             arr.set(i,min);
 97         }
 98     }
 99     
100     
101     public static void WriterFunc(ArrayList<Integer> arr ){
102         String filepath = System.getProperty("user.dir"); 
103         filepath += "\\files.txt";
104         File file = new File(filepath);
105         if(!file.exists()){
106             try {
107                 file.createNewFile();
108             } catch (IOException e) {
109                 e.printStackTrace();
110             }
111         }
112         try {
113             BufferedWriter bw = new BufferedWriter(new FileWriter(file));
114             
115             bw.write("After Sorted");
116             bw.newLine();
117             
118             for(int i=0;i<arr.size();i++){
119                 Integer num = arr.get(i);
120                 bw.write(Integer.toString(num));
121                 bw.newLine();
122             }
123             
124             bw.close();
125             
126         } catch (IOException e) {
127             e.printStackTrace();
128         }
129     }
130 }

【java 文件讀寫操作】 生成隨機數,寫入txt,然後從txt中讀出