您好,登錄后才能下訂單哦!
本文實(shí)例為大家分享了java使用文件流實(shí)現(xiàn)查看下載次數(shù)的具體代碼,供大家參考,具體內(nèi)容如下
需求:點(diǎn)擊一個(gè)按鈕的次數(shù)或者是展示文件,游戲被下載的次數(shù)
實(shí)現(xiàn):開(kāi)辟一個(gè)流文件,用來(lái)保存被下載的次數(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 來(lái)返回的 b[i] = (byte) is.read(); } in =Integer.parseInt(new String(b)); in++; System.out.println("讀出來(lái)的"+in); /**再寫(xiě)入到文件中 */ 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é)的寫(xiě)入 } is.close(); out.close(); System.out.println("寫(xiě)入的"+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(); } } /** 先讀出來(lái)*/ 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); /** 再寫(xiě)進(jìn)去*/ Writer writer = new FileWriter(file); writer.write(in+""); writer.close(); System.out.println("再寫(xiě)進(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(); } /** 讀出來(lái)*/ 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("讀出來(lái):"+ in); /** 寫(xiě)進(jìn)去*/ writer =new FileWriter(file); BufferedWriter bw = new BufferedWriter(writer); bw.write(in+""); System.out.println("寫(xiě)進(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(); } } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。