1 java8读取文本文件
2 3 4 public static void java8ReadFileLines(String fileName)
throws IOException {
5 List lineList = Files.readAllLines(Paths.get(fileName), StandardCharsets.UTF_8);
6 7 for(String line:lineList){
8 System.out.println(line);
9 }
10 }
11 12 13 14 一行一行地读取文件
15 16 17 public static void readFileByLines(String fileName) {
18 File file =
new File(fileName);
19 BufferedReader reader =
null;
20 try {
21 reader =
new BufferedReader(
new FileReader(file));
22 String line =
null;
23 while((line=reader.readLine())!=
null ) {
24 System.out.println(line);
25 }
26 }
catch (IOException e) {
27 28 }
finally {
29 if(reader!=
null) {
30 try{
31 reader.close();
32 }
catch (IOException e) {
33 ;
34 }
35 }
36 }
37 }
38 39 40 41 一次读取多个字符
42 43 44 public static void readFileByMultiChars(String fileName) {
45 File file =
new File(fileName);
46 try{
47 InputStreamReader inputStreamReader =
new InputStreamReader(
new FileInputStream(file));
48 49 char[] tempChars =
new char[30];
50 51 int readCount = 0;
52 while((readCount=inputStreamReader.read(tempChars))!=-1) {
53 if(readCount==tempChars.length) {
54 System.out.println(tempChars);
55 }
else{
56 System.out.println(Arrays.copyOf(tempChars, readCount));
57 }
58 }
59 60 61 inputStreamReader.close();
62 }
catch(Exception e) {
63 e.printStackTrace();
64 }
65 }
66 67 68 69 一个字符一个字符地读取
70 71 72 public static void readFileByChars(String fileName) {
73 File file =
new File(fileName);
74 try{
75 InputStreamReader inputStreamReader =
new InputStreamReader(
new FileInputStream(file));
76 77 int tempChar;
78 79 while((tempChar=inputStreamReader.read())!=-1) {
80 System.out.println((
char)tempChar);
81 }
82 83 84 inputStreamReader.close();
85 }
catch(Exception e) {
86 e.printStackTrace();
87 }
88 }
89 90 91 92 java8读取字节 超级简单
93 94 95 public static byte[] java8ReadBytes(String fileName)
throws IOException {
96 return Files.readAllBytes(Paths.get(fileName));
97 }
98 99 100 101 一个字节一个字节地读取
102 103 104 public static void readFileByOneByte(String fileName) {
105 File file =
new File(fileName);
106 InputStream inputStream =
null;
107 108 try{
109 inputStream =
new FileInputStream(file);
110 int tempByte;
111 while( (tempByte=inputStream.read())!=-1) {
112 System.out.println(tempByte);
113 }
114 115 inputStream.close();
116 }
catch (IOException e) {
117 System.out.println(e);
118 }
119 120 }
121 122 123 124 一个字节一个字节读取到ByteBuffer
125 126 127 public static byte[] readFileByOneByteToBuffer(String fileName) {
128 129 130 ByteBuffer byteBuffer = ByteBuffer.allocate(1024 * 1024);
131 132 File file =
new File(fileName);
133 InputStream inputStream =
null;
134 135 try{
136 inputStream =
new FileInputStream(file);
137 int tempByte;
138 while( (tempByte=inputStream.read())!=-1) {
139 byteBuffer.put((
byte)tempByte);
140 }
141 142 inputStream.close();
143 }
catch (IOException e) {
144 System.out.println(e);
145 }
146 147 byteBuffer.flip();
148 System.out.println("one limit:" + byteBuffer.limit());
149 byte[] result =
new byte[byteBuffer.limit()];
150 byteBuffer.get(result);
151 152 return result;
153 154 155 }
156 157 158 159 多个字节进行读取
160 161 162 public static void readFileByMultiBytes(String fileName) {
163 164 File file =
new File(fileName);
165 InputStream inputStream =
null;
166 167 try {
168 byte[] bytes =
new byte[50];
169 int byteRead = 0;
170 inputStream =
new FileInputStream(fileName);
171 172 while( (byteRead = inputStream.read(bytes))!=-1 ) {
173 System.out.println(byteRead);
174 }
175 }
catch(IOException e) {
176 System.out.println(e);
177 }
finally {
178 if(inputStream!=
null) {
179 try{
180 inputStream.close();
181 }
catch(IOException e){
182 System.out.println("iput stream close exception" + e);
183 }
184 }
185 }
186 }
187 188 189 190 读取多个字节到ByteBuffer
191 192 193 public static byte[] readFileByMultiBytesToBuffer(String fileName) {
194 195 ByteBuffer byteBuffer = ByteBuffer.allocate(1024*1024);
196 InputStream inputStream =
null;
197 198 try {
199 byte[] bytes =
new byte[50];
200 int byteRead = 0;
201 inputStream =
new FileInputStream(fileName);
202 203 int count = 0;
204 while( (byteRead = inputStream.read(bytes))!=-1 ) {
205 byteBuffer.put(bytes, 0, byteRead);
206 count+=byteRead;
207 }
208 209 System.out.println("readCount:"+count);
210 }
catch(IOException e) {
211 System.out.println(e);
212 }
finally {
213 if(inputStream!=
null) {
214 try{
215 inputStream.close();
216 }
catch(IOException e){
217 System.out.println("iput stream close exception" + e);
218 }
219 }
220 }
221 222 byteBuffer.flip();
223 System.out.println("multi limit:" + byteBuffer.limit());
224 byte[] result =
new byte[byteBuffer.limit()];
225 byteBuffer.get(result);
226 227 return result;
228 }
229