import java.io.FileInputStream;

/**
* 使用FileInputStream读取文件
*/
public class FileRead {
/**
* @param args
*/
public static void main(String[] args) {
// 读取文件操作 // 1.通过 fis.read()方法读取,一个字节一个字节读取,对数据进行循环遍历
// ReadFileToint();
// 2.通过fis.read(data,0,length)方法读取。把数据一次全部读到data字节数组里面
ReadFile();
} public static void ReadFileToint() {
// 声明流对象
FileInputStream fis = null;
try {
// 创建流对象
fis = new FileInputStream("d:\\test\\a.txt");
// 读取数据,并将读取到的数据存储到数组中
byte[] data = new byte[1024]; // 数据存储的数组
int i = 0; // 当前下标
// 读取流中的第一个字节数据
int n = fis.read();
// 依次读取后续的数据
while (n != -1) { // 未到达流的末尾
// 将有效数据存储到数组中
data[i] = (byte) n;
// 下标增加
i++;
// 读取下一个字节的数据
n = fis.read();
} // 解析数据
String s = new String(data, 0, i);
// 输出字符串
System.out.println(s);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
// 关闭流,释放资源
fis.close();
} catch (Exception e) {
}
}
} public static void ReadFile() {
// 声明流对象
FileInputStream fis = null;
try {
// 创建流对象
fis = new FileInputStream("d:\\test\\a.txt");
// 读取数据,并将读取到的数据存储到数组中
byte[] data = new byte[1024]; // 数据存储的数组
int i = fis.read(data); // 解析数据
String s = new String(data, 0, i);
String[] ssStrings = s.split("\r\n");
for (String b : ssStrings) {
System.out.println(b.replace('|', ' '));
}
// 输出字符串
System.out.println(s); /*
* 其实懂正则表达式的应该已经发现了,是的,“.”是正则表达式的元字符,匹配除换行符以外的任意字符,所以replaceAll、
* replaceFirst才出现了这样的结果。
*
* 而replace没有用到正则表达式,但会把所有“.”替换掉,很多人可能会误解replace是替换单个,而replaceAll是替换全部
* ,其实这是错的(我以前也是这么想的- -)。replace只是没有用到正则表达式,但会替换所有匹配的字符串。
* 到这里一些不懂正则表达式的小伙伴可能就要喊坑爹了
* ,“那我不想用正则表达式去替换第一个字符串肿么办?”其实也很简单,只要将元字符串转义就行了
* 。s.replaceFirst("\\.", "#")
*/ /*
* 这里给个会被正则表达式识别的字符列表: .匹配除换行符以外的任意字符 ^匹配字符串的开始 $匹配字符串的结束* 重复零次或更多次
* +重复一次或更多次 ?重复零次或一次
*/
String ss = "my.test.txt";
String[] myStrings = ss.split("\\.", 2);
for (String b : myStrings) {
System.out.println(b);
}
System.out.println(ss.replace(".", "#"));
System.out.println(ss.replaceAll(".", "#"));
System.out.println(ss.replaceFirst(".", "#"));
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
// 关闭流,释放资源
fis.close();
} catch (Exception e) {
}
}
}
}

  

java读取文件的基本操作的更多相关文章

  1. [Java]读取文件方法大全(转)

    [Java]读取文件方法大全   1.按字节读取文件内容2.按字符读取文件内容3.按行读取文件内容 4.随机读取文件内容 public class ReadFromFile {     /**     ...

  2. Java 读取文件的内容

    Java 读取文件的内容 1) CLASS_NAME: 换成自己真实的类名 2) /page/test.json: 换成自己真实的page 3) FileUtils: 来自于org.apache.co ...

  3. Java读取文件-BufferedReader/FileReader/InputStreamReader/FileInputStream的关系和区别

    一.Java读取和存储文件数据流 Java读取文件,实际是将文件中的字节流转换成字符流输出到屏幕的过程   这里面涉及到两个类:InputStreamReader和OutputStreamWriter ...

  4. 使用java读取文件夹中文件的行数

    使用java统计某文件夹下所有文件的行数 经理突然交代一个任务:要求统计某个文件夹下所有文件的行数.在网上查了一个多小时没有解决.后来心里不爽就决定自己写一个java类用来统计文件的行数,于是花了两个 ...

  5. Java读取文件的几种方式

    package com.mesopotamia.test; import java.io.BufferedReader; import java.io.ByteArrayInputStream; im ...

  6. java 读取文件——按照行取出(使用BufferedReader和一次将数据保存到内存两种实现方式)

    1.实现目标 读取文件,将文件中的数据一行行的取出. 2.代码实现 1).方式1: 通过BufferedReader的readLine()方法. /** * 功能:Java读取txt文件的内容 步骤: ...

  7. Java 读取文件到字符串

    Java的io操作比较复杂 package cn.outofmemory.util; import java.io.BufferedReader; import java.io.FileInputSt ...

  8. java读取文件夹下所有文件并替换文件每一行中指定的字符串

    import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.I ...

  9. Java读取文件方法和给文件追加内容

    本文转载自:http://www.cnblogs.com/lovebread/archive/2009/11/23/1609122.html 1.按字节读取文件内容2.按字符读取文件内容3.按行读取文 ...

随机推荐

  1. python Scraping

    http://docs.python-guide.org/en/latest/scenarios/scrape/

  2. SQLyog点击“测试连接”后,报2058错误

    问题:安装MySQL和SQLyog之后,在SQLyog中点击“测试连接”时,报2058错误. 解决:这里要确定两个问题:1 MySQL是否配置了环境变量:2 如果配置了MySQL环境变量,那么需要在c ...

  3. react组件间的传值方法

    关于react的几个网站: http://react.css88.com/ 小书:http://huziketang.mangojuice.top/books/react/ http://www.re ...

  4. nginx的缓存服务

    都知道缓存的目的是为了减小服务端的压力,可以在客户端直接取到数据 客户端---------------nginx(代理缓存)------------------服务端 代理缓存的描述: 就是客户端发送 ...

  5. B1019 数字黑洞 (20分)

    B1019 数字黑洞 (20分) 给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字.一直重复 ...

  6. vba中获取当前sheet页的名称,当前单元格所在位置

    fname = ActiveSheet.Name-------获取当前sheet页的名称        Sname = "" & fname & "&qu ...

  7. datetime模块详解

    时间运算 >>> datetime.datetime.now() #当前年月 时间datetime.datetime(2018, 2, 13, 16, 12, 6, 850532)& ...

  8. Linuxshell编程

    重点回顾: 1.由于核心的内存中是受保护的区块,因此我们必须要透过“shell”将我们输入的指令与Kernel沟通,好让Kernel可以控制硬件来正确无误的工作 2.学习shell的原因主要有:文字接 ...

  9. 排查和处理一台被攻击的linux系统及其事后分析

    11:40 2018/3/16 发现最近几天服务器流量异常的大,检查了系统命令发现命令最近的修改时间很近,检查dns配置也发现了异常的dns服务器地址. 考虑到事态的严重性,铲掉这个系统重新搭建. 事 ...

  10. Django 三—— Form组件

    内容概要: 1.Django Form如何自定义验证字段 2.Django Form如何动态的显示数据库中新插入的数据 3.Tyrion Django的Form(用于验证用户请求合法性的一个组件) D ...