1. 程式人生 > >產生隨機數,IO流寫入檔案

產生隨機數,IO流寫入檔案

(1)產生5000個1-9999之間的隨機整數,將其存入文字檔案a.txt中
(2)從檔案中讀取這5000個整數,並計算其最大值、最小值和平均值

  本人用的流失位元組流,向文字檔案a.txt中寫入了產生的隨機數,並向其中讀入了剛才寫入的隨機數,但是寫進去和讀出來的數,貌似不是產生的那些隨機數。

將下列程式碼中的IO流換成    FileOutputStream的write(int)方法一次只能寫入一個位元組,所以只能寫入你傳入的int的低位元組。
用DataInputStream和DataOutputStream即可,不必擔心資料格式問題。

Java code ?
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 35 36 37 38 39 40 import java.io.*; //(1)產生5000個1-9999之間的隨機整數,將其存入文字檔案a.txt中 //(2)從檔案中讀取這5000個整數,並計算其最大值、最小值和平均值 class Ex2 { public static void main(String[] args) throws IOException { FileOutputStream fos = new FileOutputStream("a.txt"); FileInputStream fis = new FileInputStream("a.txt"); for(int i = 1; i <= 500
; i++) { int number = (int)(Math.random() * 10000); System.out.println(number); fos.write(number); }        int b = 0; int max = -1; int min = 10000; long sum = 0; while((b = fis.read()) != -1) { System.out.println(b); sum += b; if(max < b) { max = b; } if(min > b) { min = b; } } System.out.println(
"最大值:" + max); System.out.println("最小值:" + min); System.out.println("平均值:" + sum/5000); fis.close(); fos.flush(); fos.close(); }    }


輸出是:
最大值:254
最小值:0
平均值:12

而我們知道,計算機產生的隨機數應該是均衡的,最少平均數應該是5000左右才對呀!

相關推薦

產生隨機數IO寫入檔案

(1)產生5000個1-9999之間的隨機整數,將其存入文字檔案a.txt中(2)從檔案中讀取這5000個整數,並計算其最大值、最小值和平均值  本人用的流失位元組流,向文字檔案a.txt中寫入了產生的隨機數,並向其中讀入了剛才寫入的隨機數,但是寫進去和讀出來的數,貌似不是

利用IO一次性讀取檔案中的所有內容利用IO下載檔案

利用IO流一次性讀取檔案中的所有內容 讀取檔案效率最快的方法就是一次全讀進來,使用readline()之類的方法,可能需要反覆訪問檔案,而且每次readline()都會呼叫編碼轉換,降低了速度,所以,在已知編碼的情況下,按位元組流方式先將檔案都讀入記憶體,再一次性編碼轉換是最快的方式

嵌入式Linux標準IO獲取檔案大小fgetc()定位獲取檔案大小fteel()、rewind()/fseek()處理錯誤資訊perror()/strerror()

#include <stdio.h> #include <errno.h> #include <string.h> int get_file_size(const char *file); int main(int argc, const char *a

Java IO 寫入資料到檔案中學習總結

這裡就不介紹InputStream、OutputStream、FileInputStream、 FileOutputStream了,這裡主要說明的是IO對檔案的操作。   將資料寫到檔案中,平常,我們會通過下面程式碼進行對檔案的寫操作。 InputStream i

IO檔案的複製刪除顯示位元組大小

 檔案的複製 import java.io.FileInputStream; import java.io.FileOutputStream; public class Test { public static void main(String[] args) {

使用Java IO 進行檔案的複製複製成功卻打不開復制的檔案

在剛開始學習Java IO操作的時候,用的並不是很熟,看的書本上的內容也講的不可能很全面,很多小的方面都必須從實踐中慢慢積累、學習。 在這裡遇到的一個問題是,複製成功的檔案,卻打不開。比如PDF檔案,顯示檔案損壞,打不開檔案。後來才發現是因為原因在位元組流操

快取工具類 使用IO寫入本地檔案

/** * Copyright (c) 2012-2013, Michael Yang 楊福海 (www.yangfuhai.com). * * Licensed under the Apache License, Version 2.0 (the "License")

IO寫入寫出檔案複製

package a; import java.io.*;; public class a4 { public static void main(String[] args) throws IOException { File fi1=new File("C:/Users/Admi

io位元組寫入檔案 -- study20180421

String word="高考是人生的分水嶺";String uploadPath = request.getSession().getServletContext().getRealPath(File.separator+"upload");//專案中建一個資料夾“uplo

利用IO實現檔案拷貝

檔案的拷貝,只需將檔案位元組輸入流和輸出流結合起來即可 package com.jianshun; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; impo

【Java筆記】IO檔案複製及異常處理

import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class Main

Java IO檔案的處理以及查詢指定檔案的例項

檔案處理 1、 File:檔案和目錄(資料夾)路徑名的抽象變現形式(並不一定真實存在) 2、 構造方法:  a) File (String pathname) 根據一個路徑得到File物件  b) File(String parent, String child)根據一個目錄和一個子檔案/目

IO(File類IO的分類位元組和字元轉換緩衝物件序列化)

1.File類 File類可以在程式中 操作檔案和目錄。File類是通過建立File類物件,在呼叫File類的物件來進行相關操作的。 示例: --------------------- 本文來自 dajiahuooo 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/

java.io--複製檔案

主要分為位元組流和字元流: 說明 位元組流 字元流 抽象基類 InputStream,OutputStream Reader,Writer 節點流 FileInputSt

java IO進行檔案的複製和加密解密

本節主要介紹下面內容 檔案的複製 目錄 用FileInputStream複製 用BufferedInputStream複製 檔案的加密: 用FileInputStream複製 檔案的拷貝需要將檔案讀入到記憶體中,再將檔案從記憶體中寫入到硬碟中, 需要用檔案輸入流F

java基礎-中級(四)【IO檔案

4、IO流與檔案 IO流:在Java API中,可以從其中讀取一個位元組序列的物件稱作輸入流,向其中寫入一個位元組序列的物件叫做輸出流。 抽象類InputStream和OutputStream構成了輸入/輸出(I/O)的位元組基礎類,Reader和Writer抽象類構成字元的輸入輸出流。

java的IO檔案讀寫

IO流 IO流分類 按資料流向分:輸入流、輸出流 按資料型別分:位元組流(x xInputStream 讀,xxOutputStream寫)、字元流(xxRead讀,xxWrite寫) 如果資料所在的檔案通過windows自帶的記事本開啟並能

Java關於使用IOcopy檔案的方法

關於使用IO流中的方法將A檔案內容複製到B檔案中 首先建立一個檔案 // 建立新的檔案 File file = new File("D:\\111Java高階\\demo\\asd1.txt"); boolean createNewFile = file.createNewFile(

java之LineNumberReader類裝飾者模式列印合併檔案合併和分割)和第三方工具類(FileNameUtils)

一.LineNumberReader類 public class Kll { public static void main(String[] args) throws IOException { File file = new File("

JAVA中 IO文字檔案的讀取方式(一)(read 的用法)

JAVA中 IO流文字檔案的讀取方式(read 用法) 首先,我們先用通常的read方法去讀 程式碼 import java.io.FileReader; import java.io.IOException; public class FileReaderd