一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語言 - JAVA教程 - Java編程之文件讀寫實(shí)例詳解

Java編程之文件讀寫實(shí)例詳解

2020-03-11 13:57Sunnyfans JAVA教程

這篇文章主要介紹了Java編程之文件讀寫的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了Java文件讀寫所涉及的類及相應(yīng)的操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Java編程中文件讀寫的方法。分享給大家供大家參考,具體如下:

Java中文件讀寫操作的作用是什么?

回答這個(gè)問題時(shí)應(yīng)該先想到的是Java只是一門語言,我們的一種使用工具而已,這樣答案就明晰了,就是將外來的各種數(shù)據(jù)寫入到某一個(gè)文件中去,用以保存下來;或者從文件中將其數(shù)據(jù)讀取出來,供我們使用。就如下電影過程,從網(wǎng)絡(luò)資源中下載一部電影保存于你電腦中(寫文件),當(dāng)你想看的時(shí)候就用播放器打開(讀文件)。

Java中如何對(duì)文件進(jìn)行讀寫操作?

先理一理,Java中的流分兩種,字節(jié)流和字符流,其中字節(jié)流的兩個(gè)基類是InputStream和OutputStream;字符流的兩個(gè)基類是Reader和Writer。所謂文件流,即我們對(duì)文件的操作留不開流。由此可知我們要用到某個(gè)類必然繼承如上的四個(gè)基類之一。Java中一切都是類,一切都是對(duì)象。自然會(huì)想到文件操作有哪些類:

如下四個(gè)直接用到的類:

字節(jié)流中:FileInputStream和FileOutputStream
字符流中:FileReader和FileWriter

找到類就好辦事了。剩下來的就是去找實(shí)現(xiàn)方法啦。

兩種選擇方案在這里,這就牽涉到我們?nèi)绾芜x擇合適的文件讀寫方式呢?

選擇條件的區(qū)別:

以字節(jié)為單位讀取文件,常用于讀二進(jìn)制文件,如圖片、聲音、影像等文件。
以字符為單位讀取文件,常用于讀文本,數(shù)字等類型的文件.
至于是否選擇用Buffer來對(duì)文件輸入輸出流進(jìn)行封裝,就要看文件的大小,若是大文件的讀寫,則選擇Buffer這個(gè)桶來提供文件讀寫效率。

如下是簡(jiǎn)單運(yùn)用實(shí)例:

1、運(yùn)用字節(jié)流對(duì)文件進(jìn)行直接讀寫:

注:FileOutputStream(file, true);里面true參數(shù)表示不覆蓋原文件,直接在文件后面追加添加內(nèi)容。

?
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
public class FileTest
{
static File file = new File("d:/test.txt");
public static void main(String[] args)
{
try
{
FileOutputStream out = new FileOutputStream(file, true);
String s = "Hello,world!\r\n";
out.write(s.getBytes());
out.flush();
out.close();
//FileInputStream in = new FileInputStream(file);
//byte [] b = new byte[20];
//in.read(b, 0, b.length);
//System.out.println(new String(b));
//in.close();
} catch (FileNotFoundException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
}
}
}

2、運(yùn)用字符流對(duì)文件進(jìn)行直接讀寫:

?
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
public class File03
{
static File file = new File("d:/test.txt");
public static void main(String[] args)
{
try
{
FileWriter fw = new FileWriter(file,true);
fw.write("Hello,world!\r\n");
fw.flush();
fw.close();
//FileReader fr = new FileReader(file);
//int i=0;
//String s ="";
//while( ( i = fr.read() )!= -1)
//{
// s = s +(char)i;
//}
//System.out.println(s);
} catch (FileNotFoundException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
}
}
}

文件讀寫流用Buffer封裝之后的運(yùn)用:

1、對(duì)字節(jié)流封裝后對(duì)文件進(jìn)行讀寫:

?
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
static File file = new File("d:/test.txt");
public static void main(String[] args)
{
try
{
// FileOutputStream out = new FileOutputStream(file, true);
// BufferedOutputStream bout = new BufferedOutputStream(out);
// String s = "I have a dream!";
// bout.write(s.getBytes());
// bout.flush();
// bout.close();
FileInputStream in = new FileInputStream(file);
BufferedInputStream bin = new BufferedInputStream(in);
byte[] b = new byte[15];
bin.read(b);
bin.close();
System.out.println(new String(b));
} catch (FileNotFoundException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
}
}
}

2、對(duì)字符流封裝后對(duì)文件進(jìn)行讀寫:

?
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
public class File03
{
static File file = new File("d:/test.txt");
public static void main(String[] args)
{
try
{
// FileWriter fw = new FileWriter(file, true);
// BufferedWriter bw = new BufferedWriter(fw);
// String nextLine = System.getProperty("line.separator");
// bw.write("Hello,world!" + nextLine);
// bw.flush();
// bw.close();
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
int i = 0;
String s = "";
String temp = null;
while((temp=br.readLine())!=null)
{
s = s+temp;
}
System.out.println(s);
} catch (FileNotFoundException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
}
}
}

希望本文所述對(duì)大家Java程序設(shè)計(jì)有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美日韩国产在线一区 | 久久九九久精品国产尤物 | 欧美猛男同志同性video | 91精品乱码一区二区三区 | 国产欧美日韩免费一区二区 | 青青成人福利国产在线视频 | 女女宿舍互慰h文小说 | 欧美丰满大乳大屁在线观看股 | 免费观看大片毛片 | 免费一级日本c片完整版 | 亚洲国产精品网 | 任我淫 | 日韩在线一区二区三区免费视频 | 亚洲AV午夜福利精品香蕉麻豆 | 国产精品毛片高清在线完整版 | 久久嫩草影院网站 | 欧美人与物videos另类3d | 午夜一个人在线观看完整版 | 亚洲精品久久中文字幕 | 深夜草莓视频 | 全日爱韩国视频在线观看 | 女人张开腿让男人桶爽 | 久久久精品成人免费看 | 糖心在线观看网 | 99久久国产综合精品女不卡 | 99久久99久久免费精品蜜桃 | 国色天香社区视频免费观看3 | 日日爱669| 久久偷拍免费2017 | 欧美8x8x | 大东北chinesexxxx露脸 | 日韩精品在线一区二区 | 幻女free性zoz0交 | 美女叽叽 | 我和黑色丝袜班主任 | 日韩一区在线播放 | 青青青青久久国产片免费精品 | 欧美一区二区三区在线观看免费 | 国产女主播在线播放一区二区 | 国产老太婆hd老头 | 性色欲情网站IWWW九文堂 |