Java中的文件和stream流的操作代码
1.Java中FileRead方法的运用代码及详解
package example2;
import java.io.FileReader;
import java.io.IOException;
class FileRead{
public static void main(String[] args) throws IOException{
//创建一个FileWriter对象
//FileWriter fw=new FileWriter("File01.txt",true);
FileReader fr=new FileReader("File01.txt");
//如果写入的文件已经存在,则会覆盖写入
//如果要追加写入,则要
//调用write方法对文件写入数据
//在windows中,换行符为\r\n
//在macos中,前期换行符为\r,现在是\n
//在linux操作系统中,换行符为\n
/* int ch;
while((ch=fr.read())!=-1) {
System.out.println((char) ch);
}
fr.close();*/
//使用字符数组进行批量读取数据
char [] buf=new char[3];
int len;
while((len=fr.read(buf))!=-1) {
String str=new String(buf,0,len);
System.out.println(str);
}
/*
* FileWriter当中的5中写入数据的方法
* fw.write(int a);参照ASCII表和UNICODE表
* fw.write(String str)写入完整的字符串
* fw.write(String str,int offset,int count)写入字符串的一部分
* fw.write(char[] array)写入完整的字符数组
* fw.write(char[] array,int offset,int count)写入字符数组的一部分
*
* */
}
}
//Java中的FileWrite方法的使用及详解
package example2;
import java.io.FileWriter;
import java.io.IOException;
class FileWrite{
public static void main(String[] args) throws IOException {
//创建一个FileWriter对象
//FileWriter fw=new FileWriter("File01.txt",true);
FileWriter fw=new FileWriter("File01.txt");
//如果写入的文件已经存在,则会覆盖写入
//如果要追加写入,则要
//调用write方法对文件写入数据
//在windows中,换行符为\r\n
//在macos中,前期换行符为\r,现在是\n
//在linux操作系统中,换行符为\n
/*
* FileWriter当中的5中写入数据的方法
* fw.write(int a);参照ASCII表和UNICODE表
* fw.write(String str)写入完整的字符串
* fw.write(String str,int offset,int count)写入字符串的一部分
* fw.write(char[] array)写入完整的字符数组
* fw.write(char[] array,int offset,int count)写入字符数组的一部分
*
* */
fw.write("......daniahhsh");
fw.write("zhaoliying\r\n");
String str="sgsgjajhgs";
fw.write(97);
fw.write(str,0,5);
char[] array= {'v','k','n','v','g'};
fw.write(array,1,3);
fw.write("......bajabjd");
//调用close方法关闭文件
fw.close();
}
}
//Java中BufferRead的使用方法及详解
package example2;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class BufferRead{
//BufferedReader额外的为大家提供了一个readLine()函数进行读取以整行的字符串。
//BufferWriter中额外的提供了一个换行函数newLine();
// BufferWriter与filewriter类似,BufferWriter内部有一个长度为8192的char[]字符数组缓冲区。
// 每次写数据时,是像缓冲区中添加字符。如果缓冲数组满了,然后统一写到硬盘的文件中。
// 如果最终关闭时,数组仍然没满,那么就将剩余的有效部分写到硬盘文件里。
public static void main(String[] args) throws IOException {
//首先创建一个普通的FileWriter
FileReader fw = new FileReader("File02.txt");
//将这个普通的FileWriter对象传递给BufferedWriter构造方法即可。
BufferedReader bw=new BufferedReader(fw);
//读取单个字符串
/*int ch;
while((ch=bw.read())!=-1) {
System.out.println((char) ch);
}*/
//读取字符数组(一次性从缓冲区里读取多个字符)
/*int len;
char[] buf=new char[3];
while((len=bw.read(buf))!=-1) {
String str=new String(buf,0,len);
System.out.println(str);
}*/
//读取以整行的字符串
String line;
while((line=bw.readLine())!=null) {
System.out.println(line);
}
bw.close();
}
}
Java中BufferWrite方法的运用及详解
package example2;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
public class BufferWrite {
//BufferWriter中额外的提供了一个换行函数newLine();
// BufferWriter与filewriter类似,BufferWriter内部有一个长度为8192的char[]字符数组缓冲区。
// 每次写数据时,是像缓冲区中添加字符。如果缓冲数组满了,然后统一写到硬盘的文件中。
// 如果最终关闭时,数组仍然没满,那么就将剩余的有效部分写到硬盘文件里。
public static void main(String[] args) throws IOException {
//首先创建一个普通的FileWriter
FileWriter fw = new FileWriter("File02.txt");
//将这个普通的FileWriter对象传递给BufferedWriter构造方法即可。
BufferedWriter bw=new BufferedWriter(fw);
bw.write("sdfghjkl");
bw.newLine();//这个函数会根据你使用的操作系统的不同,而修改换行符的使用。很灵活,在开发中提倡常用。
bw.write("etrytuyxcv");
bw.close();
}
}
//stream流的使用及详解
package example3;
import java.util.ArrayList;
import java.util.stream.Stream;
public class listStream {
// java8中的流其实是一个stream的接口对象
// jdk中提供了一个java.util.stream.Stream<T>;
public static void main(String[] args) {
// 1.通过一个集合获取流
ArrayList<String> list = new ArrayList<>();
list.add("赵丽颖,15");
list.add("鹿晗,18");
list.add("李易峰,20");
list.add("苏宝娟,10");
Stream<String> stream = list.stream();
// 根据数组获取一个流
String[] arrayStr = new String[] { "dfgha", "tyui", "erqq" };
Stream<String> stream1 = Stream.of(arrayStr);
Integer[] arrayInt = new Integer[] { 10, 20, 50, 40, 60 };
Stream<Integer> stream3 = Stream.of(arrayInt);
list.stream().map(s -> s.split(",")[1]).map(Integer::parseInt).filter(n -> n >= 15)
.forEach(System.out::println);
// 获取流之后,可以使用映射方法:map(用于转换的lambda表达式)
Stream<Integer> arrayIntger = list.stream().map((String str) -> {
int num = Integer.parseInt(str);
return num;
});
// lambda表达式
// s->System.out.println(s);
// 对象名调用成员方法
// System.out::println();
// 如果流当中的元素特别多,那么一个人挨个处理比较慢,效率低。
// 对流当中的元素使用多个人处理。称为“并发”
// 如何获取并发流(.parallelStream())
System.out.println("================");
//如此调用也是同样的效果
//使用并发流会有多个人同时抢占位置,顺序会被打乱,但不会出现重复。
list.stream().parallel().forEach(System.out::println);
System.out.println("================");
list.parallelStream().forEach(System.out::println);
// 注:使用并发流处理时,到底有几个人同时操作不用管,jdk会处理。
// 只要正确使用,就不会出现多个人同时抢到一个元素。
}
}
对于Java中的一些很实用方法进行了一下归类。都是本人实际操作运行成功的案例代码。可以避免少走一些弯路。
革命尚未成功,同志仍需努力!
Java中的文件和stream流的操作代码的更多相关文章
- 3,Java中的文件IO流
1,File类 ··· 概念:File对象可以表示一个文件或目录.可以对其进行增删改查. ··· 常用方法: File f = new File("."); 判断是 ...
- java中常量文件的配置与读取
java中常量文件的配置与读取: package com.floor.shop.user.util; import java.io.InputStream; import java.io.InputS ...
- Java的Stream流式操作
前言 最近在实习,在公司看到前辈的一些代码,发现有很多值得我学习的地方,其中有一部分就是对集合使用Stream流式操作,觉得很优美且方便.所以学习一下Stream流,在这里记录一下. Stream是什 ...
- Java 8 新特性之 Stream 流基础体验
Java 8 新特性之 Stream 流基础体验 package com.company; import java.util.ArrayList; import java.util.List; imp ...
- Java中移动文件或目录的方法盘点
本文不再更新,可能存在内容过时的情况,实时更新请移步原文地址:Java中移动文件或目录的方法盘点: import org.apache.commons.io.FileUtils; import jav ...
- Java8中的Stream流式操作 - 入门篇
作者:汤圆 个人博客:javalover.cc 前言 之前总是朋友朋友的叫,感觉有套近乎的嫌疑,所以后面还是给大家改个称呼吧 因为大家是来看东西的,所以暂且叫做官人吧(灵感来自于民间流传的四大名著之一 ...
- Java中删除文件、删除目录及目录下所有文件(转)
原文链接:Java中删除文件.删除目录及目录下所有文件 知识点:File.delete()用于删除“某个文件或者空目录”!所以要删除某个目录及其中的所有文件和子目录,要进行递归删除,具体代码示例如下: ...
- Java中的文件操作
在使用计算机编程中,常常会用到对于文件的操作,以下是我对于Java中文件的相关内容学习之后的一个总结和在学习过程中遇到的一些问题. 一.什么是文件 对于文件进行操作,首先我们要知道什么是文件.在此之前 ...
- Java中读取文件
Java中读取文件,去除一些分隔符,保存在多维数组里面 public void readFile(String filePath) { File file=new File(filePath); Ar ...
随机推荐
- SharePoint - JavaScript Variable & Functions
1. MSOWebPartPageFormName 获取当前form的名称,然后可用document.forms[MSOWebPartPageFormName]来得到当前form: 2. _spPag ...
- App更新(Android)
App更新(Android) 前言:现在一般的Android软件都是需要不断更新的,当你打开某个app的时候,如果有新的版本,它会提示你有新版本需要更新.该项目实现的就是这个功能.并且有强制更新和更 ...
- CSS3布局样式
CSS3多列布局columns 为了能在Web页面中方便实现类似报纸.杂志那种多列排版的布局,W3C特意给CSS3增加了一个多列布局模块(CSS Multi Column Layout Module) ...
- 常见HTTP状态200,304,403,404,503
下面提供 HTTP 状态码的完整列表.您也可以查看 W3C官方HTTP 状态码说明(英文). 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态码. 100(继续) 请求者应当继续提出请求 ...
- IP:192.168.21.173 子网掩码:255.255.255.0 网关:192.168.21.2 DNS:8.8.8.8 8.8.4.4 1、设置IP地址、网关 ee /etc/rc.conf #编辑 ifconfig_em0="inet 192.168.21.173 netmask 255
IP:192.168.21.173子网掩码:255.255.255.0网关:192.168.21.2DNS:8.8.8.88.8.4.41.设置IP地址.网关ee /etc/rc.conf #编辑if ...
- P2PSearcher云点播设置和使用技巧
P2PSearcher是一款基于ED2K网络的资源搜索工具,资源丰富,小巧轻便.资源搜索结果最丰富.智能排序定位精准,立即找到想要的资源.新版可突破服务器封杀限制,一个能用的P2PSearcher.整 ...
- 【Spring实战】—— 10 AOP针对参数的通知
通过前面的学习,可以了解到 Spring的AOP可以很方便的监控到方法级别的执行 ,针对于某个方法实现通知响应. 那么对于方法的参数如何呢? 比如我们有一个方法,每次传入了一个字符串,我想要知道每次传 ...
- Nginx-php-mysql
1.依赖包 yum -y install pcre* openssl*2.phprpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpmyum i ...
- March 1 2017 Week 9 Wednesday
If you are serious giving up something, giving up is not serious at all. 如果你慎重地决定要放弃,那么放弃本身就没什么大不了的. ...
- 模线性方程&&中国剩余定理及拓展
一.求解模线性方程 由ax=b(mod n) 可知ax = ny + b 就相当于ax + ny = b 由扩展欧几里得算法可知有解条件为gcd(a, n)整除d 可以直接套用扩展欧几里得算法 最终由 ...