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.按行读取文 ...
随机推荐
- axiospost请求向后端提交数据
Axios向后端提交数据容易接收不到原因是传参方式是request payload,参数格式是json,而并非用的是form传参,所以在后台用接收form数据的方式接收参数就接收不到了.post表单请 ...
- macOS如何正确驱动集成显卡HDMI(包括视频和音频)
聊聊如何正确驱动集成显卡HDMI(包括视频和音频)必备条件:1.必须使用AppleHDA驱动声卡(仿冒.clover.applealc都可以的),使用voodoo驱动声卡应该不行的.2.dsdt或者s ...
- Android驱动开发读书笔记七
第七章 (一)创建设备文件 1.使用cdev_init函数初始化cdec 描述设备文件需要一个cdev结构体,代码如下: struct cdev{ struct kobject kobj; struc ...
- 7- vue django restful framework 打造生鲜超市 -商品类别数据展示(上)
Vue+Django REST framework实战 搭建一个前后端分离的生鲜超市网站 Django rtf 完成 商品列表页 并没有将列表页的数据json 与前端的页面展示结合起来 讲解如果将dr ...
- CentOS下安装php gd库报错Error: php56w-common conflicts with php-common-5.3.3-48.el6_8.x86_64
因为服务器缺少php gd库,因为系统是centos,就是用yum去安装,一安装就报错如下: [root@iZ28sdxghs2Z ~]# yum install php-gd Loaded plug ...
- JavaScript事件对象与事件的委托
事件对象 包含事件相关的信息,如鼠标.时间.触发的DOM对象等 js默认将事件对象封装好,并自动的以参数的形式,传递给事件处理函数的第1个参数,如下: document.getElementsByTa ...
- B - Sonya and Exhibition CodeForces - 1004B (思维题)
B. Sonya and Exhibition time limit per test 1 second memory limit per test 256 megabytes input stand ...
- Codeforces Round #461 (Div. 2) C. Cave Painting
C. Cave Painting time limit per test 1 second memory limit per test 256 megabytes Problem Descriptio ...
- heap&stack的区别
1. heap (堆)是一个可动态申请的内存空间,一般所有创建的对象和数组都放在这里.stack (栈)是一个先进后出的数据结构,通常用于保存方法(函数)中的参数,局部变量.stack (栈)的空间小 ...
- loj2308 「APIO2017」商旅
ref #include <iostream> #include <cstring> #include <cstdio> #include <queue> ...