java读取文件的基本操作
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读取文件的基本操作的更多相关文章
- [Java]读取文件方法大全(转)
[Java]读取文件方法大全 1.按字节读取文件内容2.按字符读取文件内容3.按行读取文件内容 4.随机读取文件内容 public class ReadFromFile { /** ...
- Java 读取文件的内容
Java 读取文件的内容 1) CLASS_NAME: 换成自己真实的类名 2) /page/test.json: 换成自己真实的page 3) FileUtils: 来自于org.apache.co ...
- Java读取文件-BufferedReader/FileReader/InputStreamReader/FileInputStream的关系和区别
一.Java读取和存储文件数据流 Java读取文件,实际是将文件中的字节流转换成字符流输出到屏幕的过程 这里面涉及到两个类:InputStreamReader和OutputStreamWriter ...
- 使用java读取文件夹中文件的行数
使用java统计某文件夹下所有文件的行数 经理突然交代一个任务:要求统计某个文件夹下所有文件的行数.在网上查了一个多小时没有解决.后来心里不爽就决定自己写一个java类用来统计文件的行数,于是花了两个 ...
- Java读取文件的几种方式
package com.mesopotamia.test; import java.io.BufferedReader; import java.io.ByteArrayInputStream; im ...
- java 读取文件——按照行取出(使用BufferedReader和一次将数据保存到内存两种实现方式)
1.实现目标 读取文件,将文件中的数据一行行的取出. 2.代码实现 1).方式1: 通过BufferedReader的readLine()方法. /** * 功能:Java读取txt文件的内容 步骤: ...
- Java 读取文件到字符串
Java的io操作比较复杂 package cn.outofmemory.util; import java.io.BufferedReader; import java.io.FileInputSt ...
- java读取文件夹下所有文件并替换文件每一行中指定的字符串
import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.I ...
- Java读取文件方法和给文件追加内容
本文转载自:http://www.cnblogs.com/lovebread/archive/2009/11/23/1609122.html 1.按字节读取文件内容2.按字符读取文件内容3.按行读取文 ...
随机推荐
- ios 导航视图控制器 跳转
import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoa ...
- 分享一个漂亮按钮插件FancyButtons
一转眼,2018年的第10天就这样过去了.回看17年,曾经做了些啥都忘记了,就像每一天写日志时的样子(双手放在键盘上,怒着嘴,抬着头,望着天花板), 然后突然记得好像好久没有写随笔了(@_@).自从配 ...
- js中的日期
创建日期对象: var date1 = new Date(2018, 11,10) 第二个参数传入的是月份,月份是0-11,实际上要加1 获得现在的时间:var date2 = Date.now() ...
- php下关于Cannot use a scalar value as an array的解决办法
今天在测试php程序的时候,出现了一个错误提示:Cannot use a scalar value as an array,这个错误提示前几天也出过,当时好像稍微调了一下就好了,也没深究,今天却又出现 ...
- [译]The Python Tutorial#12. Virtual Environments and Packages
[译]The Python Tutorial#Virtual Environments and Packages 12.1 Introduction Python应用经常使用不属于标准库的包和模块.应 ...
- 678. Valid Parenthesis String
https://leetcode.com/problems/valid-parenthesis-string/description/ 这个题的难点在增加了*,*可能是(也可能是).是(的前提是:右边 ...
- 嵌入式Linux环境搭建备忘
嵌入式Linux开发平台搭建步骤: 1.安装宿主机Linux系统 如果选用最新的Linux发行版,应改主意其他软件是否能很好的兼容. 2.安装交叉编译器 交叉编译器的版本很多,一般到芯片厂家官网下载官 ...
- sql:where中多种状况简便写法
字段名:Bran,block,are ,store 四个字段中存在值等于0或者不等于0,两种情况.where中如果用if等条件判断会有16中组合,如果采用where中的条件就避免了这个情况. decl ...
- SJTU 1077 加分二叉树
http://acm.sjtu.edu.cn/OnlineJudge/problem/1077 题意: 设一个n个节点的二叉树tree的中序遍历为(l,2,3,…,n),其中数字1,2,3…,n为节点 ...
- proget Android代码混淆
混淆的时候,还要添加Android.jar,不然,你的程序一篇空白.我就吃了亏. 还有,activity是不能混淆的,因为AndroidMeaxinfast.xml里面会找他.