国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

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

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - JAVA中讀取文件(二進(jìn)制,字符)內(nèi)容的幾種方法總結(jié)

JAVA中讀取文件(二進(jìn)制,字符)內(nèi)容的幾種方法總結(jié)

2020-08-06 15:18強(qiáng)者用結(jié)果說話 Java教程

本篇文章主要介紹了JAVA中讀取文件(二進(jìn)制,字符)內(nèi)容的方法總結(jié),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

JAVA讀取文件內(nèi)容的方法有很多,比如按字節(jié)讀取文件內(nèi)容,按字符讀取文件內(nèi)容,按行讀取文件內(nèi)容,隨機(jī)讀取文件內(nèi)容等方法,本文就以上方法的具體實(shí)現(xiàn)給出代碼,需要的可以直接復(fù)制使用

?
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
public class ReadFromFile {
 /**
  * 以字節(jié)為單位讀取文件,常用于讀二進(jìn)制文件,如圖片、聲音、影像等文件。
  */
 public static void readFileByBytes(String fileName) {
  File file = new File(fileName);
  InputStream in = null;
  try {
   System.out.println("以字節(jié)為單位讀取文件內(nèi)容,一次讀一個(gè)字節(jié):");
   // 一次讀一個(gè)字節(jié)
   in = new FileInputStream(file);
   int tempbyte;
   while ((tempbyte = in.read()) != -1) {
    System.out.write(tempbyte);
   }
   in.close();
  } catch (IOException e) {
   e.printStackTrace();
   return;
  }
  try {
   System.out.println("以字節(jié)為單位讀取文件內(nèi)容,一次讀多個(gè)字節(jié):");
   // 一次讀多個(gè)字節(jié)
   byte[] tempbytes = new byte[100];
   int byteread = 0;
   in = new FileInputStream(fileName);
   ReadFromFile.showAvailableBytes(in);
   // 讀入多個(gè)字節(jié)到字節(jié)數(shù)組中,byteread為一次讀入的字節(jié)數(shù)
   while ((byteread = in.read(tempbytes)) != -1) {
    System.out.write(tempbytes, 0, byteread);
   }
  } catch (Exception e1) {
   e1.printStackTrace();
  } finally {
   if (in != null) {
    try {
     in.close();
    } catch (IOException e1) {
    }
   }
  }
 }
 
 /**
  * 以字符為單位讀取文件,常用于讀文本,數(shù)字等類型的文件
  */
 public static void readFileByChars(String fileName) {
  File file = new File(fileName);
  Reader reader = null;
  try {
   System.out.println("以字符為單位讀取文件內(nèi)容,一次讀一個(gè)字節(jié):");
   // 一次讀一個(gè)字符
   reader = new InputStreamReader(new FileInputStream(file));
   int tempchar;
   while ((tempchar = reader.read()) != -1) {
    // 對于windows下,\r\n這兩個(gè)字符在一起時(shí),表示一個(gè)換行。
    // 但如果這兩個(gè)字符分開顯示時(shí),會(huì)換兩次行。
    // 因此,屏蔽掉\r,或者屏蔽\n。否則,將會(huì)多出很多空行。
    if (((char) tempchar) != '\r') {
     System.out.print((char) tempchar);
    }
   }
   reader.close();
  } catch (Exception e) {
   e.printStackTrace();
  }
  try {
   System.out.println("以字符為單位讀取文件內(nèi)容,一次讀多個(gè)字節(jié):");
   // 一次讀多個(gè)字符
   char[] tempchars = new char[30];
   int charread = 0;
   reader = new InputStreamReader(new FileInputStream(fileName));
   // 讀入多個(gè)字符到字符數(shù)組中,charread為一次讀取字符數(shù)
   while ((charread = reader.read(tempchars)) != -1) {
    // 同樣屏蔽掉\r不顯示
    if ((charread == tempchars.length)
      && (tempchars[tempchars.length - 1] != '\r')) {
     System.out.print(tempchars);
    } else {
     for (int i = 0; i < charread; i++) {
      if (tempchars[i] == '\r') {
       continue;
      } else {
       System.out.print(tempchars[i]);
      }
     }
    }
   }
 
  } catch (Exception e1) {
   e1.printStackTrace();
  } finally {
   if (reader != null) {
    try {
     reader.close();
    } catch (IOException e1) {
    }
   }
  }
 }
 
 /**
  * 以行為單位讀取文件,常用于讀面向行的格式化文件
  */
 public static void readFileByLines(String fileName) {
  File file = new File(fileName);
  BufferedReader reader = null;
  try {
   System.out.println("以行為單位讀取文件內(nèi)容,一次讀一整行:");
   reader = new BufferedReader(new FileReader(file));
   String tempString = null;
   int line = 1;
   // 一次讀入一行,直到讀入null為文件結(jié)束
   while ((tempString = reader.readLine()) != null) {
    // 顯示行號
    System.out.println("line " + line + ": " + tempString);
    line++;
   }
   reader.close();
  } catch (IOException e) {
   e.printStackTrace();
  } finally {
   if (reader != null) {
    try {
     reader.close();
    } catch (IOException e1) {
    }
   }
  }
 }
 
 /**
  * 隨機(jī)讀取文件內(nèi)容
  */
 public static void readFileByRandomAccess(String fileName) {
  RandomAccessFile randomFile = null;
  try {
   System.out.println("隨機(jī)讀取一段文件內(nèi)容:");
   // 打開一個(gè)隨機(jī)訪問文件流,按只讀方式
   randomFile = new RandomAccessFile(fileName, "r");
   // 文件長度,字節(jié)數(shù)
   long fileLength = randomFile.length();
   // 讀文件的起始位置
   int beginIndex = (fileLength > 4) ? 4 : 0;
   // 將讀文件的開始位置移到beginIndex位置。
   randomFile.seek(beginIndex);
   byte[] bytes = new byte[10];
   int byteread = 0;
   // 一次讀10個(gè)字節(jié),如果文件內(nèi)容不足10個(gè)字節(jié),則讀剩下的字節(jié)。
   // 將一次讀取的字節(jié)數(shù)賦給byteread
   while ((byteread = randomFile.read(bytes)) != -1) {
    System.out.write(bytes, 0, byteread);
   }
  } catch (IOException e) {
   e.printStackTrace();
  } finally {
   if (randomFile != null) {
    try {
     randomFile.close();
    } catch (IOException e1) {
    }
   }
  }
 }
 
 /**
  * 顯示輸入流中還剩的字節(jié)數(shù)
  */
 private static void showAvailableBytes(InputStream in) {
  try {
   System.out.println("當(dāng)前字節(jié)輸入流中的字節(jié)數(shù)為:" + in.available());
  } catch (IOException e) {
   e.printStackTrace();
  }
 }
 
 public static void main(String[] args) {
  String fileName = "C:/temp/newTemp.txt";
  ReadFromFile.readFileByBytes(fileName);
  ReadFromFile.readFileByChars(fileName);
  ReadFromFile.readFileByLines(fileName);
  ReadFromFile.readFileByRandomAccess(fileName);
 }
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:http://blog.csdn.net/zhao_liwei/article/details/51841342

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久精品国产清自在天天线 | 国产欧美精品区一区二区三区 | 久久福利 | 激情久久久久 | 黄色片免费在线观看 | 一区二区三区国产 | 在线一区 | 亚洲人成在线播放 | 国产日韩精品视频 | 亚洲精品一区在线观看 | 欧美成人一区二区三区片免费 | 亚洲久久一区二区 | 国产毛片欧美毛片久久久 | 亚洲成人免费观看 | 黄色免费美女网站 | 99在线热视频 | 久久精品国产精品青草 | 婷婷激情久久 | 国产精品久久久久久久7电影 | 成人中文视频 | 精品国产乱码久久久久久牛牛 | 日韩高清av | 亚洲a网| 日韩精品在线观看一区 | 国产精品欧美日韩 | 日韩欧美国产精品综合嫩v 在线视频 中文字幕 | 国产福利视频在线观看 | 激情五月婷婷综合 | 综合二区 | 亚洲国产综合在线 | 日韩中文在线 | 精品电影 | www久久久久 | 日韩电影中文字幕 | 91av免费| 亚洲小视频 | 91.成人天堂一区 | 黄色在线免费观看视频网站 | 欧美日韩不卡合集视频 | 国产一区二区三区久久 | 国产在线网站 |