0.字节流与文件

我的代码:

public static byte[] readFile(String path){
File file = new File(path);
FileInputStream input = null;
try{
input = new FileInputStream(file);
byte[] buf =new byte[input.available()];
input.read(buf);
}catcha(Exception e){
e.printstackTrack();
}finally{
if(input != null){
try {
input.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
return null;}

我的总结:

1.字节流之对象流

结合使用ObjectOutputStream、ObjectInputStream与FileInputStream、FileOuputStream实现对Student对象的读写。

我的代码:

File f = new File("C:/java/hello");

InputStream f = new FileInputStream("e:/java/hello");

InputStream in = new FileInputStream(f);

OutputStream f = new FileOutputStream("e:/java/hello");

OutputStream f = new FileOutputStream(f);

OutputStream f = new FileOutputStream(f,true);

public static void main(String[] args) throws IOException{

InputStream f = new FileInputStream("/home/桌面/test.txt");

int c = 0;

while((c = f.read()) != -1)

System.out.println((char)c);

}

public static void main(String[] args) {// 创建一个FileInputStream对象

try {

FileInputStream fis = new FileInputStream("/home/xiejunyu/桌面/test.txt");

byte[] b=new byte[100];

fis.read(b,0,5);

/把字节从文件读入b数组,从b数组的0位置开始存放,读取5个字节/

System.out.println(new String(b));

fis.close();

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

public static void main(String args[]){

try{

byte bWrite[] = "ABC".getBytes();

OutputStream os = new FileOutputStream("test.txt");

for(int x=0; x <= bWrite.length ; x++){

os.write(bWrite[x] );

}

}

我的总结:

FileInputStram与FileOutputStream类都是用来操作磁盘文件,用于读取和写入。使用FileOutputStream向文件中写入数据时,默认指定的文件不存在时,会先创建一个,在将输入内容写入文件,如果已存在,则先清空原来文件中的内容,在写入新文件,如果要在原文件末尾追加,需要使用FileOutputStream构造方法创建一个文件输出流。

2.缓冲流

我的代码:

public class Main2 {
public static void main(String[] args) {
String fileName="test.txt";
try (PrintWriter pw = new PrintWriter(fileName);)
{
Random random=new Random();
random.setSeed(100);
double sum=0,aver;
for (int i = 0; i < 1000_0000; i++) {
int r=random.nextInt(10);
sum+=r;
pw.println(r);
}
aver=sum/1000_0000;
System.out.format("%.5f", aver);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}}

我的总结:

缓冲流是处理流的一种, 它依赖于原始的输入输出流, 它令输入输出流具有1个缓冲区, 显著减少与外部设备的IO次数, 而且提供一些额外的方法。

PTA 8-1 jmu-java-流、文件与正则表达式 (5 分)的更多相关文章

  1. java 流 文件 IO

    Java 流(Stream).文件(File)和IO Java.io 包几乎包含了所有操作输入.输出需要的类.所有这些流类代表了输入源和输出目标. Java.io 包中的流支持很多种格式,比如:基本类 ...

  2. Java 流(Stream)、文件(File)和IO

    Java.io包几乎包含了所有操作输入.输出需要的类.所有这些流类代表了输入源和输出目标. Java.io包中的流支持很多种格式,比如:基本类型.对象.本地化字符集等等. 一个流可以理解为一个数据的序 ...

  3. Java IO 文件与流基础

    Java IO 文件与流基础 @author ixenos 摘要:创建文件.文件过滤.流分类.流结构.常见流.文件流.字节数组流(缓冲区) 如何创建一个文件 #当我们调用File类的构造器时,仅仅是在 ...

  4. java IO文件操作简单基础入门例子,IO流其实没那么难

    IO是JAVASE中非常重要的一块,是面向对象的完美体现,深入学习IO,你将可以领略到很多面向对象的思想.今天整理了一份适合初学者学习的简单例子,让大家可以更深刻的理解IO流的具体操作. 1.文件拷贝 ...

  5. java 中 “文件” 和 “流” 的简单分析

    java 中 FIle 和 流的简单分析 File类 简单File 常用方法 创建一个File 对象,检验文件是否存在,若不存在就创建,然后对File的类的这部分操作进行演示,如文件的名称.大小等 / ...

  6. Java笔记:Java 流(Stream)、文件(File)和IO

    更新时间:2018-1-7 12:27:21 更多请查看在线文集:http://android.52fhy.com/java/index.html java.io 包几乎包含了所有操作输入.输出需要的 ...

  7. Java 字符流文件读写

    上篇文章,我们介绍了 Java 的文件字节流框架中的相关内容,而我们本篇文章将着重于文件字符流的相关内容. 首先需要明确一点的是,字节流处理文件的时候是基于字节的,而字符流处理文件则是基于一个个字符为 ...

  8. Java - 17 Java 流(Stream)、文件(File)和IO

    Java 流(Stream).文件(File)和IO Java.io包几乎包含了所有操作输入.输出需要的类.所有这些流类代表了输入源和输出目标. Java.io包中的流支持很多种格式,比如:基本类型. ...

  9. Java总结:Java 流(Stream)、文件(File)和IO

    更新时间:2018-1-7 12:27:21 更多请查看在线文集:http://android.52fhy.com/java/index.html java.io 包几乎包含了所有操作输入.输出需要的 ...

随机推荐

  1. Peaks 线段树合并

    Peaks 线段树合并 \(n\)个带权值\(h_i\)山峰,有\(m\)条山峰间双向道路,\(q\)组询问,问从\(v_i\)开始只经过\(h_i\le x\)的路径所能到达的山峰中第\(k\)高的 ...

  2. 【算法】变邻域搜索算法(Variable Neighborhood Search,VNS)超详细一看就懂的解析

    更多精彩尽在微信公众号[程序猿声] 变邻域搜索算法(Variable Neighborhood Search,VNS)一看就懂的解析 00 目录 局部搜索再次科普 变邻域搜索 造轮子写代码 01 局部 ...

  3. IDEA正确设置编码统一为UTF-8

    之前代码在myeclispe10跑得好好的来这个intellij idea 就一直出错 改了好久的编码都没卵用,如下设置才正确.还有idea的web工程目录和myeclispe的目录是不一样的,神坑. ...

  4. linux搭建代理服务器+蚁剑配置客户端代理

    一:linux搭建代理服务器 0x00 介绍 关于搭建代理服务器的方法,我也是刚刚接触,从网上找了一些能够行得通的方法来给大家做个分享: 这里我用的是Tinyproxy作为代理服务软件.这个东西很小, ...

  5. Facebook开源时间序列内存数据库Beringei,追求极致压缩率——如果是int根据大多数时间序列中的值与相邻数据点相比并没有显著的变化,只要使用XOR将当前值与先前值进行比较,然后存储发生变化的比特。最终,该算法将整个数据集至少压缩了90%

    转自:http://www.infoq.com/cn/news/2017/02/Facebook-Beringei 2017年2月3日,Facebook宣布将开源他们的高性能时序数据存储引擎Berin ...

  6. 2018-2019-2 《网络对抗技术》 Exp7 网络欺诈防范 20165222

    1.实践目标 本实践的目标理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法. 2.实践内容 (1)简单应用SET工具建立冒名网站 (1分) apachectl start开启服务 ser ...

  7. 4.linux vim 编辑器的基本操作

    一.vim编辑器基本操作       1.vim 编辑器 :  三种工作模式                              命令模式           a.i.o             ...

  8. Microsoft Visual C++ 2017 Redistributable

    版本:14.10.25008https://download.microsoft.com/download/4/5/4/454AC59C-DC3F-4AD3-950F-6DCBDF672071/vc_ ...

  9. Mysql --- Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause

    我使用的5.5的mysql数据库会报这个错, 换成5.7的就可以了

  10. Python自学笔记(九)

    #类 #类的创建 :class类名 + 冒号,后面语句要缩进 #类的属性创建:通过赋值语句(即定义“是怎样的”) #实例方法的创建:def + 方法名(self) #方法具体的执行过程,即定义“能做什 ...