java使用文件流實現(xiàn)查看下載次數(shù)
更新時間:2018年07月18日 11:15:45 作者:xusheng_Mr
這篇文章主要為大家詳細介紹了java使用文件流實現(xiàn)查看下載次數(shù),具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了java使用文件流實現(xiàn)查看下載次數(shù)的具體代碼,供大家參考,具體內(nèi)容如下
需求:點擊一個按鈕的次數(shù)或者是展示文件,游戲被下載的次數(shù)
實現(xiàn):開辟一個流文件,用來保存被下載的次數(shù),然后讀文件中value,點擊一次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]); // 一個字節(jié)一個字節(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);
/** 再寫進去*/
Writer writer = new FileWriter(file);
writer.write(in+"");
writer.close();
System.out.println("再寫進去:"+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);
/** 寫進去*/
writer =new FileWriter(file);
BufferedWriter bw = new BufferedWriter(writer);
bw.write(in+"");
System.out.println("寫進去:"+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)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Spring MVC如何使用@RequestParam注解獲取參數(shù)
這篇文章主要介紹了Spring MVC實現(xiàn)使用@RequestParam注解獲取參數(shù)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10
springSecurity用戶認證和授權(quán)的實現(xiàn)
Spring?Security?是一個開源的安全框架,提供了基于權(quán)限的訪問控制、身份認證的功能,本文主要介紹了springSecurity用戶認證和授權(quán),具有一定參考價值,感興趣的可以了解一下
2024-04-04 
