《java读取文件方法大全》由会员分享,可在线阅读,更多相关《java读取文件方法大全(9页珍藏版)》请在金锄头文库上搜索。
1、javajava 读取文件方法大全读取文件方法大全Java读取文件方法大全1、按字节读取文件内容2、按字符读取文件内容3、按行读取文件内容4、随机读取文件内容 public class ReadFromFile /* 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。*/public static void readFileByBytes(String fileName) File file = new File(fileName);InputStream in = null;try System.out.println(“以字节为单位读取文件内容,一次读一个字节:“);/
2、一次读一个字节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(“以字节为单位读取文件内容,一次读多个字节:“);/ 一次读多个字节byte tempbytes = new byte100;int byteread = 0;in = new FileInputStrea
3、m(fileName);ReadFromFile.showAvailableBytes(in);/ 读入多个字节到字节数组中,byteread 为一次读入的字节数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) /* 以字符为单位读取文件,常用于读文本,数字等类型的
4、文件*/public static void readFileByChars(String fileName) File file = new File(fileName);Reader reader = null;try System.out.println(“以字符为单位读取文件内容,一次读一个字节:“);/ 一次读一个字符reader = new InputStreamReader(new FileInputStream(file);int tempchar;while (tempchar = reader.read() != -1) / 对于 windows 下,rn 这两个字符在一起
5、时,表示一个换行。/ 但如果这两个字符分开显示时,会换两次行。/ 因此,屏蔽掉r,或者屏蔽n。否则,将会多出很多空行。if (char) tempchar) != r) System.out.print(char) tempchar);reader.close(); catch (Exception e) e.printStackTrace();try System.out.println(“以字符为单位读取文件内容,一次读多个字节:“);/ 一次读多个字符char tempchars = new char30;int charread = 0;reader = new InputStream
6、Reader(new FileInputStream(fileName);/ 读入多个字符到字符数组中,charread 为一次读取字符数while (charread = reader.read(tempchars) != -1) / 同样屏蔽掉r 不显示if (charread = tempchars.length) else for (int i = 0; i 4) ? 4 : 0;/ 将读文件的开始位置移到 beginIndex 位置。randomFile.seek(beginIndex);byte bytes = new byte10;int byteread = 0;/ 一次读 1
7、0 个字节,如果文件内容不足 10 个字节,则读剩下的字节。/ 将一次读取的字节数赋给 bytereadwhile (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) /* 显示输入流中还剩的字节数*/private static void sho
8、wAvailableBytes(InputStream in) try System.out.println(“当前字节输入流中的字节数为:“ + 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.
9、readFileByLines(fileName);ReadFromFile.readFileByRandomAccess(fileName);5、将内容追加到文件尾部public class AppendToFile /* A 方法追加文件:使用 RandomAccessFile*/public static void appendMethodA(String fileName, String content) try / 打开一个随机访问文件流,按读写方式RandomAccessFile randomFile = new RandomAccessFile(fileName, “rw“);/
10、 文件长度,字节数long fileLength = randomFile.length();/将写文件指针移到文件尾。randomFile.seek(fileLength);randomFile.writeBytes(content);randomFile.close(); catch (IOException e) e.printStackTrace();/* B 方法追加文件:使用 FileWriter*/public static void appendMethodB(String fileName, String content) try /打开一个写文件器,构造函数中的第二个参数
11、true表示以追加形式写文件FileWriter writer = new FileWriter(fileName, true);writer.write(content);writer.close(); catch (IOException e) e.printStackTrace();public static void main(String args) String fileName = “C:/temp/newTemp.txt“;String content = “new append!“;/按方法 A 追加文件AppendToFile.appendMethodA(fileName, content);AppendToFile.appendMethodA(fileName, “append end. n“);/显示文件内容ReadFromFile.readFileByLines(fileName);/按方法 B 追加文件AppendToFile.appendMethodB(fileName, content);AppendToFile.appendMethodB(fileName, “append end. n“);/显示文件内容ReadFromFile.readFileByLines(fileName);