java解析文件_Java读取文件方法大全
public classReadFromFile {/*** 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。*/
public static voidreadFileByBytes(String fileName) {
File file= newFile(fileName);
InputStream in= null;try{
System.out.println("以字节为单位读取文件内容,一次读一个字节:");//一次读一个字节
in = newFileInputStream(file);inttempbyte;while ((tempbyte = in.read()) != -1) {
System.out.write(tempbyte);
}
in.close();
}catch(IOException e) {
e.printStackTrace();return;
}try{
System.out.println("以字节为单位读取文件内容,一次读多个字节:");//一次读多个字节
byte[] tempbytes = new byte[100];int byteread = 0;
in= newFileInputStream(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) {
}
}
}
}/*** 以字符为单位读取文件,常用于读文本,数字等类型的文件*/
public static voidreadFileByChars(String fileName) {
File file= newFile(fileName);
Reader reader= null;try{
System.out.println("以字符为单位读取文件内容,一次读一个字节:");//一次读一个字符
reader = new InputStreamReader(newFileInputStream(file));inttempchar;while ((tempchar = reader.read()) != -1) {//对于windows下,\r\n这两个字符在一起时,表示一个换行。//但如果这两个字符分开显示时,会换两次行。//因此,屏蔽掉\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 char[30];int charread = 0;
reader= new InputStreamReader(newFileInputStream(fileName));//读入多个字符到字符数组中,charread为一次读取字符数
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 voidreadFileByLines(String fileName) {
File file= newFile(fileName);
BufferedReader reader= null;try{
System.out.println("以行为单位读取文件内容,一次读一整行:");
reader= new BufferedReader(newFileReader(file));
String tempString= null;int line = 1;//一次读入一行,直到读入null为文件结束
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) {
}
}
}
}/*** 随机读取文件内容*/
public static voidreadFileByRandomAccess(String fileName) {
RandomAccessFile randomFile= null;try{
System.out.println("随机读取一段文件内容:");//打开一个随机访问文件流,按只读方式
randomFile = new RandomAccessFile(fileName, "r");//文件长度,字节数
long fileLength =randomFile.length();//读文件的起始位置
int beginIndex = (fileLength > 4) ? 4 : 0;//将读文件的开始位置移到beginIndex位置。
randomFile.seek(beginIndex);byte[] bytes = new byte[10];int byteread = 0;//一次读10个字节,如果文件内容不足10个字节,则读剩下的字节。//将一次读取的字节数赋给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) {
}
}
}
}/*** 显示输入流中还剩的字节数*/
private static voidshowAvailableBytes(InputStream in) {try{
System.out.println("当前字节输入流中的字节数为:" +in.available());
}catch(IOException e) {
e.printStackTrace();
}
}public static voidmain(String[] args) {
String fileName= "C:/temp/newTemp.txt";
ReadFromFile.readFileByBytes(fileName);
ReadFromFile.readFileByChars(fileName);
ReadFromFile.readFileByLines(fileName);
ReadFromFile.readFileByRandomAccess(fileName);
}
}
java解析文件_Java读取文件方法大全相关推荐
- java 正则表达式 电话_Java读取文件及基于正则表达式的获取电话号码功能详解...
本文实例讲述了Java读取文件及基于正则表达式的获取电话号码功能.分享给大家供大家参考,具体如下: 1.正则表达式 正则表达式,又称 正规表示法 . 常规表示法 (英语:Regular Express ...
- java用浏览器下载文件_JAVA读取文件流,设置浏览器下载或直接预览操作
最近项目需要在浏览器中通过url预览图片.但发现浏览器始终默认下载,而不是预览.研究了一下,发现了问题: // 设置response的header,注意这句,如果开启,默认浏览器会进行下载操作,如果注 ...
- java 无法读取文件_java 读取文件,无法显示文件内容,如何解决? 谢谢。
从来没见过进行文件读取写入时,在写入中需要随机数的,你读取文件就是从一个地方获取输入流,然后将这个输入流写到别的地方,根本不要随机数. 给你一个示例://copy a file to another ...
- java浏览器预览文件_JAVA读取文件流,设置浏览器下载或直接预览操作
最近项目需要在浏览器中通过URL预览图片.但发现浏览器始终默认下载,而不是预览.研究了一下,发现了问题: // 设置response的Header,注意这句,如果开启,默认浏览器会进行下载操作,如果注 ...
- java 解析证书_java 读取证书类以及key tool gui 1.7
Key Tool Gui 1.7 /** * Title: Light Weight APIs for crypto * Description: 一个上海CA证书(根证书和用户证书)进行处理的例子 ...
- java读取系统中指定的文件_java读取jar中指定的文件
Java 档案 (Java Archive, JAR) 文件是基于 Java 技术的打包方案.它们允许开发人员把所有相关的内容 (.class.图片.声音和支持文件等) 打包到一个单一的文件中.JAR ...
- java读取空格_java 读取文件路径空格和中文的处理
应用部署时,发生文件读取错误,发现是部署路径中含有空格的文件夹名,然后把应用服务器位置迁移了. 从网上找到如下方案: 1, TestURL().class.getResource("&quo ...
- java中如何读写文件_JAVA: 读写文件的几种方法
如果您使用java8,可以也参考这篇文章:JAVA: Java8流逐行读取文件 import java.io.BufferedReader; import java.io.BufferedWriter ...
- java classpath 遍历_Java 读取JAR文件信息
Java 读取JAR文件信息 为什么想到读取JAR文件的信息 查看spring 资源处理,查找多个资源classpath*,会去寻找jar包中的内容,因此会出现读取jar包中的文件或者读取文件夹中的文 ...
最新文章
- iphone相册怎么加密_iphone相册加密码锁,保护隐私
- mvn 打包项目到eclipse
- sqlplus SPOOL 导出网页文件
- Spring Boot 的配置文件
- 在Windows下搭建SVN服务器并且集成到 Eclipse 开发环境中
- 右键新建中增加新建.md文件
- 如何下载SAP Intelligent Robotic Process Automation相关的软件
- springmvc(18)使用WebSocket 和 STOMP 实现消息功能
- JavaScript正则表达式快速简单的指南
- 列举5个python内置函数和使用方法_Python基础-----函数、内置函数、递归等练习
- 【Spark】Spark cache 报错 Exception thrown in awaitResult
- 小程序素材抓取_到底要不要做百度小程序
- TIOBE 4月编程语言排行榜:MATLAB即将跌出TOP 20
- 【笔试/面试】排列组合与概率计算(三)
- 【java笔记】基本类型与字符串之间的转换
- 计算机网络原理实验实验七:分析IP报文结构
- oracle里面查找重复项,Oracle数据库查询重复数据及删除重复数据方法
- 灰色线性回归组合预测模型及R语言实现
- C# 企业微信:开启消息接受接收消息推送消息
- Google Drive(谷歌网盘)下载超大文件方法
热门文章
- ren命令linux,Excel2003使用重命名命令ren步骤
- 用户登录如何给密码加密xxtea.js
- 0-9的次方符号,有需要的小伙伴可以复制
- Unity Mecanim 动画系统简介
- Javascript(JS) leetcode 796. 旋转字符串
- 嘉明SSM学习之基于SSM框架的学生信息管理系统
- Springboot养老院管理系统
- 小甲鱼Python笔记
- 线性滤波器非线性滤波器
- Datawhale第十二期组队学习--Python爬虫编程实践 Task03:session和cookie、代理、selenium自动化 拔高:丁香园留言板爬取