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. Mac 系统 + Chrome浏览器 网页前端出现中文文字反转或顺序错乱

    问题背景 React开发的系统,收到一个BUG反馈,*"号个人统计"文字不正确,应为"个人号统计"*. 收到BUG后,打开浏览器查验是什么情况,难道犯了最基本的 ...

  2. nginx反向代理与正向代理的区别

    http://blog.csdn.net/m13666368773/article/details/8060481

  3. js点击拉拽轮播图pc端移动端适配

    <div class="content"> <button class="left">left</button> <b ...

  4. 第17题:打印1到最大的n位数

    面试题17:打印1到最大的n位数  题目:输入数字n,按顺序打印出从1最大的n位十进制数.比如输入3,则打印出1.2.3一直到最大的3位数即999. 考点: 用字符串或者数组表达一个大数. 思路 1. ...

  5. 深入理解java虚拟机读书笔记1--java内存区域

    Java在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域.这些区域都有各自的用途.创建和销毁的时间,有一些是随虚拟机的启动而创建,随虚拟机的退出而销毁,有些则是与线程一一对应,随 ...

  6. Java List 的深拷贝

    老是会遇到深拷贝与浅拷贝的问题,这里进行了一些測试.代码例如以下: </pre><pre name="code" class="java"&g ...

  7. win10桌面显示我的电脑

    1.桌面单击右键菜单栏,选中单击个性化 2.选择主题->桌面图标设置 3.勾选需要显示或不显示的图标

  8. CountDownLatch、CyclicBarrier、Semaphore的区别

    在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我们就学习一下这三个辅助类的用法. 以下是 ...

  9. windows server 2008解决无法PING通问题

    今天安装服务器(server 2008),配置完IP地址后,发现局域网其它电脑无法PING通服务器,测线仪测试链路都正常,网线接别的电脑也正常,以为是网卡问题,于是ping了自己的IP,发现能PING ...

  10. kettle Spoon.bat闪退解决办法!

    1.Java环境配置问题: java_home:D:\Program Files\Java\jdk1.7.0_25(安装jdk路径) classpath:.;%java_home%\lib\dt.ja ...