java读取文件

  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         
原文地址:https://www.cnblogs.com/jym-sunshine/p/5613100.html