[JAVA 多种方式读取文件]
package com.file; import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader; public class TextReadFile {
/*
* 一字节为单位读取
*/
public static void readFileByBytes(String fileName){
File file = new File(fileName); //创建文件
InputStream in = null; System.out.println("!.以字节为单位读取文件内容:一次读取一个");
try {
in = new FileInputStream(file);
int tempbyte;
while((tempbyte = in.read())!=-1){
System.out.write(tempbyte);
}
in.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return;
} System.out.println("2.以字节为单位读取文件内容:一次读取多个字节:");
try {
byte[] temptypes = new byte[1024];
int byteread = 0; in = new FileInputStream(fileName);
TextReadFile.showAvailableBytes(in);
while((byteread = in.read(temptypes))!=-1){
System.out.write(temptypes, 0, byteread);
} } catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(in != null){
try {
in.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
/*
* 显示输入六中还剩的字节数
*/
public static void showAvailableBytes(InputStream in){
try {
System.out.println("当前字节输入流中的字节数为:"+in.available());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/*
* 义字符为单位读取
*/
public static void readFileByChar(String fileName){
File file = new File(fileName);
Reader read = null; System.out.println("3、以字符为单位读取文件内容,一次读一个字节:");
try {
read = new InputStreamReader(new FileInputStream(file));
int tempchar;
while((tempchar= read.read())!=-1){
if((char)tempchar!='r'){
System.out.print((char)tempchar);
}
}
read.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} System.out.println("4.一字符为单位读取文件内容,一次读取多个:");
char[] tempchars = new char[1024];
int charread = 0;
try {
read = new InputStreamReader(new FileInputStream(file));
while((charread=read.read(tempchars))!=-1){
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 e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(read != null){
try {
read.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} }
/*
* 读一行
*/
public static void readFileByLine(String fileName){
File file = new File(fileName);
BufferedReader reader = null; System.out.println("6.以行为为单位读取文件内容,一次读一行:"); try {
reader = new BufferedReader(new FileReader(file));
String tempString = null;
int line = 1;
while((tempString = reader.readLine())!=null){
System.out.println("line"+line+":"+tempString);
line++;
}
reader.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(reader!= null){
try {
reader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
public static void main(String[] args) {
String fileName = "D:/Desktop/JarCode.txt";
System.out.println("1.按字节为单位读取文件:");
readFileByBytes(fileName);
System.out.println("1.按字符为单位读取文件:");
readFileByChar(fileName);
System.out.println("1.按行为单位读取文件:");
readFileByLine(fileName);
}
}
[JAVA 多种方式读取文件]的更多相关文章
- Java多种方式读文件,追加文件内容,等对文件的各种操作
一.多种方式读文件内容. 1.按字节读取文件内容 2.按字符读取文件内容 3.按行读取文件内容 4.随机读取文件内容 import java.io.BufferedReader; import jav ...
- java中多种方式读文件
转自:http://www.jb51.net/article/16396.htm java中多种方式读文件 一.多种方式读文件内容. 1.按字节读取文件内容 2.按字符读取文件内容 3.按行读取文件内 ...
- java多线程批量读取文件(七)
新公司入职一个多月了,至今没有事情可以做,十来个新同事都一样抓狂,所以大家都自己学习一些新东西,我最近在看zookeeper,感觉蛮不错的,和微服务的zuul以及eureka功能类似,只是代码复杂了一 ...
- Java相对路径读取文件
不管你是新手还是老鸟,在程序中读取资源文件总会遇到一些找不到文件的问题,这与Java底层的实现有关,不能算bug,只要方法得当,问题还是可以解决的. 项目的文件夹结构: repathtest ├─sr ...
- Java配置方式读取外部的资源配置文件
通过@PropertySource可以指定读取的配置文件,通过@Value注解获取值,具体用法: package cn.qlq; import org.springframework.context. ...
- Java io实现读取文件特殊内容进行替换
最近公司在做一个项目其中一个需求是读取文件中的特殊字符在其后进行添加或删除字符操作,本来想直接使用randomAccessFile按行读取,读取到特殊字符就进行添加或删除操作,但是randomAcce ...
- 【java】:读取文件
PS:转 1.按字节读取文件内容2.按字符读取文件内容3.按行读取文件内容4.随机读取文件内容 public class ReadFromFile { /** * 以字节为单位读取文件,常用于读二进制 ...
- 【工具】JAVA 在单元读取文件并比较
package test20140709; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; ...
- O_DIRECT方式读取文件示例
#include <fcntl.h> #include <stdio.h> #include <stdlib.h> #include <sys/stat.h& ...
随机推荐
- opencv6.5-imgproc图像处理模块之轮廓
接opencv6.4-imgproc图像处理模块之直方图与模板 这部分的<opencv_tutorial>上都是直接上代码,没有原理部分的解释的. 十一.轮廓 1.图像中找轮廓 /// 转 ...
- 你是否还在质疑EF的性能
1. 写在前面的话 一直没有写博客的习惯,感觉太浪费时间,没有那么多精力,其实仔细一想,写博客是一种习惯,也是一种心境,同时也是对自己所掌握的知识结构的一个梳理过程,对自己知识体系的一个巩固,同时也是 ...
- Dapper Vs Dbentry
公司项目数据库访问采用的dapper,以前没有用过.今天简单的测试下了,dapper和dbentry 查询效率情况. public ActionResult Test() { Sys_UserFaca ...
- iOS 监听textfield的输入(转)
1:首先 [textField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEvent ...
- LVS+MYCAT+读写分离+MYSQL主备同步部署手册
LVS+MYCAT+读写分离+MYSQL主备同步部署手册 1 配置MYSQL主备同步…. 2 1.1 测试环境… 2 1.2 配置主数据库… 2 1.2.1 ...
- linux中级-JAVA企业级应用TOMCAT实战
1. Tomcat简介 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache.Sun和其他一些公司及个人共 ...
- if -else 条件语句原理
#!/usr/bin/python # coding utf-8 name = '?' if name == 'python': print('欢迎BOSS') else: print('输入错误')
- “Ceph浅析”系列之二——Ceph概况
本文将对Ceph的基本情况进行概要介绍,以期读者能够在不涉及技术细节的情况下对Ceph建立一个初步印象. 1. 什么是Ceph? Ceph的官方网站Ceph.com上用如下这句话简明扼要地定义了Cep ...
- [转]理解JavaScript中的事件处理
什么是事件? 事件(Event)是JavaScript应用跳动的心脏 ,也是把所有东西粘在一起的胶水.当我们与浏览器中 Web 页面进行某些类型的交互时,事件就发生了.事件可能是用户在某些内容上的点击 ...
- 【POJ 1151】Atlantis
离散化后扫描线扫一遍. 夏令营时gty学长就讲过扫描线,可惜当时too naive,知道现在才写出模板题. 当时也不会线段树啊233 #include<cstdio> #include&l ...