java使用文件流實(shí)現(xiàn)查看下載次數(shù)

本文實(shí)例為大家分享了java使用文件流實(shí)現(xiàn)查看下載次數(shù)的具體代碼,供大家參考,具體內(nèi)容如下

創(chuàng)新互聯(lián)始終堅(jiān)持【策劃先行,效果至上】的經(jīng)營理念,通過多達(dá)十年累計(jì)超上千家客戶的網(wǎng)站建設(shè)總結(jié)了一套系統(tǒng)有效的全網(wǎng)推廣解決方案,現(xiàn)已廣泛運(yùn)用于各行各業(yè)的客戶,其中包括:成都宴會酒店設(shè)計(jì)等企業(yè),備受客戶認(rèn)可。

需求:點(diǎn)擊一個(gè)按鈕的次數(shù)或者是展示文件,游戲被下載的次數(shù)

實(shí)現(xiàn):開辟一個(gè)流文件,用來保存被下載的次數(shù),然后讀文件中value,點(diǎn)擊一次value加1,再將此value保存到流文件中。
三種方法:

package cn.tr.test;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.Reader;
import java.io.Writer;

public class TestDemo {

  private static int in ;
  private static File file;

  public static void main(String[] args) {

    fun2();
  }

  public static void fun(){
    /** 初始化文件中的值為0*/
    try {
      OutputStream out = new FileOutputStream(file);
      String str = "00";
      out.write(str.getBytes());
      out.close();
    } catch (FileNotFoundException e) {
      e.printStackTrace();
    } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }

  }
  public static void fun2() {

    file= new File("d:/test/d.txt");
    if (!file.exists()) {
      try {
        file.createNewFile();
      } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      }
    }
    try {
      /** 讀取文件中的內(nèi)容 */
      if (file.exists()&&file.length()==0) {
        fun();
      }
      InputStream is = new FileInputStream(file);
      byte b[] = new byte[(int) file.length()];
      for (int i = 0; i < b.length; i++) {
        // 值字節(jié)在0-255 范圍之內(nèi)是作為int 來返回的
        b[i] = (byte) is.read();
      }
      in =Integer.parseInt(new String(b));
      in++;
      System.out.println("讀出來的"+in);

      /**再寫入到文件中 */
      OutputStream out = new FileOutputStream(file);
      String str = String.valueOf(in);
      byte[] bytes = str.getBytes();
      for (int i = 0; i < bytes.length; i++) {
        out.write(bytes[i]);  // 一個(gè)字節(jié)一個(gè)字節(jié)的寫入
      }
      is.close();
      out.close();
      System.out.println("寫入的"+in);

    } catch (FileNotFoundException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }

  public static void fun3(){

    file= new File("d:/test/d.txt");
    if (!file.exists()) {
      try {
        file.createNewFile();
      } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      }
    }
    /** 先讀出來*/
    try {
      if (file.exists()&&file.length()==0) {
        fun();
      }
      Reader reader = new FileReader(file);
      char[] c = new char[(int)file.length()];
      int temp = 0;
      int len =0;
      while((temp=reader.read()) != -1){
        c[len]=(char)temp;
        len++;
      }
      reader.close();
      System.out.println("初始值"+new String(c,0,len));
      in =Integer.parseInt(new String(c,0,len));
      in++;
      System.out.println("下載一次:"+in);
    /** 再寫進(jìn)去*/
      Writer writer = new FileWriter(file);
      writer.write(in+"");
      writer.close();
      System.out.println("再寫進(jìn)去:"+in);
    } catch (FileNotFoundException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  }

  public static void fun4(){
    Reader reader; 
    Writer writer;
    file= new File("d:/test/d.txt");
    if (!file.exists()) {
      try {
        file.createNewFile();
      } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      }
    }
    try {
      if (file.exists()&&file.length()==0) {
        fun();
      }
      /** 讀出來*/
      reader = new FileReader(file);
      BufferedReader br = new BufferedReader(reader);
      char [] c = new char[(int)file.length()];
      int len = 0;
      int temp = 0;
      while((temp=br.read())!= -1){
        c[len]=(char)temp;
        len++;
      }

      in =Integer.parseInt(new String(c, 0, len));
      in++;
      System.out.println("讀出來:"+ in);
      /** 寫進(jìn)去*/
      writer =new FileWriter(file);
      BufferedWriter bw = new BufferedWriter(writer);
      bw.write(in+"");
      System.out.println("寫進(jìn)去:"+in);
      br.close();
      bw.close();
    } catch (FileNotFoundException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }

  }  

}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。

文章名稱:java使用文件流實(shí)現(xiàn)查看下載次數(shù)
標(biāo)題來源:http://muchs.cn/article38/jpiipp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、響應(yīng)式網(wǎng)站、品牌網(wǎng)站建設(shè)云服務(wù)器、手機(jī)網(wǎng)站建設(shè)自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)