Java I/O详细笔记

【Java学习笔记】16. I/O系统 输入/输出(Input/Output)是指对某个物理或逻辑设备或某种㡳进行数据的输入或输出。例如:对服务器主机数据的读/写、摄像头视频数据的输入、本地文件的输入/输出等。由于数据存取的环境和设备不同,所以数据的读/写方案具有多样性。输入/输出问题在程序射击中是一个复杂的问题。java针对这个问题,提出了自己的解决方案——流(Stream)对象。对不同的输入/输出问题提供了不同的流对象。所有的数据都可以使用流写入和读出。流是程序中数据传输的一条路径。 阅读详情

1.什么是流

内存与存储设备之间传输数据的通道。

2.流的分类

2.1根据方向分为输入流与输出流

输入流:将存储设备中的内容读取到内存中。

输出流:将内存中的内容写入到存储设备中。

2.2根据单位分为字节流与字符流

字节流:以字节为单位读取输入流,支持所有数据。

字符流:以字符为单位读取输入流,只能是文本数据。

2.3根据功能分为节点流与过滤流

节点流:实际传输数据的读写功能。

过滤流:在节点流的基础之上增强功能。

3.字节流

字节流的父类InputStream与OutputStream,都是抽象类。

InputStream:字节输入流

int read()读取下一个字节,字节值范围是0-255。如果返回-1代表已到流的末尾。
int read(byte[] b)以指定长度的字节数组读取流。返回读取到的实际字节数组个数,如果返回-1代表已到流的末尾。
int read(byte[] b,int off,int len)以指定的字节数组读取流,并可以通过off指定字节数组覆盖位置,len指定字节输入覆盖的长度。如果返回-1代表已到流的末尾。

OutputStream:字节输出流

void write(int b)将指定的字节写入该输出流中
void write(byte[] b)将指定的字节数组写入该输出流
void write(byte[] b,int off,int len)将指定的字节数组写入该输出流,off指定字节输入写入的起始位置,len指定写入的字节数组长度。

4.FileInputStream

文件读取流。

FileInputStreamStudy.txt内容:

  1. abcdefg

示例代码:  

package com.gisapartment.java.io;
import java.io.FileInputStream;
import java.io.IOException;
/**
 * @author www.gisapartment.com
 * Copyright © www.gisapartment.com
 */
public class FileInputStreamStudy {
	public static void main(String[] args) throws IOException {
		FileInputStream fileInputStream = new FileInputStream("FileInputStreamStudy.txt");
		System.out.println("方法1:使用read()方法:");
		int t;
		while ((t=fileInputStream.read())!=-1){
			System.out.print((char) t);
		}
		fileInputStream.close();
		fileInputStream = new FileInputStream("FileInputStreamStudy.txt");
		System.out.println();
		System.out.println("方法2:使用read(byte b[])方法:");
		byte[] temp = new byte[3];
		int count;
		while ((count=fileInputStream.read(temp))!=-1){
			System.out.print(new String(temp,0,count));
		}
		fileInputStream.close();
		System.out.println();
		System.out.println("读取完毕!");
	}
}

5.FileOutputStream

文件输出流。

注意:可以通过FileOutputStream构造函数指定是否追加输出,而不是覆盖输出。

示例代码:

package com.gisapartment.java.io;
import java.io.FileOutputStream;
import java.io.IOException;
/**
 * @author www.gisapartment.com
 * Copyright © www.gisapartment.com
 */
public class FileOutputStreamStudy {
	public static void main(String[] args) throws IOException {
		FileOutputStream fileOutputStream = new FileOutputStream("FileOutputStreamStudy.txt",true);
		String content = "www.gisapartment.com\n";
		fileOutputStream.write(content.getBytes());
		fileOutputStream.close();
		System.out.println("输出完毕!");
	}
}

6.字节流复制文件

示例代码:

package com.gisapartment.java.io;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
/**
 * @author www.gisapartment.com
 * Copyright © www.gisapartment.com
 */
public class CopyFile {
	public static void main(String[] args) throws IOException {
		FileInputStream fileInputStream = new FileInputStream("FileInputStreamStudy.txt");
		FileOutputStream fileOutputStream = new FileOutputStream("FileInputStreamStudyCopy.txt");
		byte[] content = new byte[1024];
		int count = 0;
		while ((count=fileInputStream.read(content))!=-1){
			fileOutputStream.write(content, 0, count);
		}
		fileInputStream.close();
		fileOutputStream.close();
	}
}

7.字节缓冲流

缓冲流:BufferedInputStream/BufferedOutputStream

  • 提高IO效率,减少访问磁盘的次数。
  • 数据存储在缓冲区中,flush将缓冲区的内容写入文件中,也可以直接close。

BufferedInputStream示例代码:

package com.gisapartment.java.io;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;
/**
 * @author www.gisapartment.com
 * Copyright © www.gisapartment.com
 */
public class BufferedInputStreamStudy {
	public static void main(String[] args) throws IOException {
		BufferedInputStream bufferedInputStream = new BufferedInputStream(new FileInputStream("FileInputStreamStudy.txt"));
		byte[] content = new byte[1024];
		int count = 0;
		while ((count=bufferedInputStream.read(content))!=-1){
			System.out.print(new String(content,0,count));
		}
		bufferedInputStream.close();
	}
}

BufferedOutputStream示例代码:

package com.gisapartment.java.io;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
/**
 * @author www.gisapartment.com
 * Copyright © www.gisapartment.com
 */
public class BufferedOutputStreamStudy {
	public static void main(String[] args) throws Exception {
		BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(new FileOutputStream("BufferedOutputStreamStudy.txt"));
		for (int i = 0; i < 10; i++) {
			bufferedOutputStream.write("www.gisapartment.com\n".getBytes());
			bufferedOutputStream.flush();
		}
		bufferedOutputStream.close();
	}
}

8.对象流

ObjectInputStream/ObjectOuputStream

  • 增强了缓冲区功能。
  • 增强了读写8种基本数据类型和字符串功能。
  • 增强了读写对象的功能:readObject() 从流种读取一个对象;writeObject(Object obj)向流中写入一个对象。

序列化示例代码:

package com.gisapartment.java.io;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
/**
 * @author www.gisapartment.com
 * Copyright © www.gisapartment.com
 */
public class SerializationStudy {
	public static void main(String[] args) throws IOException {
		ObjectOutputStream objectOutputStream = new ObjectOutputStream(new FileOutputStream("SerializationStudy.object"));
		Person person = new Person();
		person.setAge(20);
		person.setName("GIS公寓");
		objectOutputStream.writeObject(person);
		objectOutputStream.close();
	}
}

反序列化示例代码:

package com.gisapartment.java.io;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
/**
 * @author www.gisapartment.com
 * Copyright © www.gisapartment.com
 */
public class DeserializationStudy {
	public static void main(String[] args) throws IOException, ClassNotFoundException {
		ObjectInputStream objectInputStream = new ObjectInputStream(new FileInputStream("SerializationStudy.object"));
		Object object = objectInputStream.readObject();
		if (object instanceof Person){
			System.out.println(object);
		}
		objectInputStream.close();
	}
}

输出结果:

Person{name='GIS公寓', age=20}

注意:

  1. 序列化的类必须实现Serializable接口。
  2. 序列化类中的每个对象属性必须实现Serializable接口。
  3. 序列化ID(serialVersionUID)是对象版本号,保证序列化的类与反序列化的类是同一个类。
  4. 使用transient(短暂的)修饰的属性,不能被序列化。
  5. 静态属性不能被序列化。
  6. 序列化多个对象,可以通过集合实现。

9.常见字符编码

编码方式与解码方式不一致时,会出现乱码。

名称范围字节数
ISO-8859-1收录ASCII、西欧、希腊语、泰语、阿拉伯语、希伯来语1
UTF-8针对Unicode码表的的可变长度字符编码,包含所有国家常见字符1、2、3
GB2312简体中文1、2
GBK简体中文、扩充1、2
BIG5台湾,繁体中文2

10.字符流

字符流的父类Reader与Writer,都是抽象类。

Reader:字符输入流

  • int read()
  • int read(char[] c)
  • int read(char[] b,int off,int len)

Writer:字符输出流

  • void write(int n)
  • void write(String str)
  • void write(char[] c)

11.文件字符流

FileReader:文件字符读取流。

示例代码:

package com.gisapartment.java.io;
import java.io.FileReader;
import java.io.IOException;
/**
 * @author www.gisapartment.com
 * Copyright © www.gisapartment.com
 */
public class FileReaderStudy {
	public static void main(String[] args) throws IOException {
		FileReader fileReader = new FileReader("FileReaderStudy.txt");
		System.out.println("方法1:使用read()方法:");
		int count = 0;
		while ((count=fileReader.read())!=-1){
			System.out.print((char) count);
		}
		fileReader.close();
		System.out.println();
		System.out.println("方法2:使用read(byte b[])方法:");
		char[] content = new char[1024];
		fileReader = new FileReader("FileReaderStudy.txt");
		while ((count=fileReader.read(content))!=-1){
			System.out.print(new String(content, 0, count));
		}
		System.out.println();
		fileReader.close();
	}
}

FileWriter:文件字符写入流。

示例代码:

package com.gisapartment.java.io;
import java.io.FileWriter;
import java.io.IOException;
/**
 * @author www.gisapartment.com
 * Copyright © www.gisapartment.com
 */
public class FileWriterStudy {
	public static void main(String[] args) throws IOException {
		FileWriter fileWriter = new FileWriter("FileWriterStudy.txt");
		for (int i = 0; i < 10; i++) {
			fileWriter.write("GIS公寓\n");
			fileWriter.flush();
		}
		fileWriter.close();
	}
}

12.字符流复制文件

注意:只能复制文本文件,不能复制图片、视频等其它文件。

示例代码:

package com.gisapartment.java.io;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
/**
 * @author www.gisapartment.com
 * Copyright © www.gisapartment.com
 */
public class CopyFileUseCharStream {
	public static void main(String[] args) throws IOException {
		FileReader fileReader = new FileReader("FileWriterStudy.txt");
		FileWriter fileWriter = new FileWriter("CopyFileUseCharStream.txt");
		int count = 0;
		while ((count=fileReader.read())!=-1){
			fileWriter.write(count);
		}
		fileWriter.close();
		fileReader.close();
	}
}

13.字符缓冲流

缓冲流:BufferedReader/BufferedWriter。

  • 高效读写。
  • 支持输入换行符,调用指定的方法。
  • 可一次写一行、读一行。

BufferedReader示例代码:

package com.gisapartment.java.io;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
/**
 * @author www.gisapartment.com
 * Copyright © www.gisapartment.com
 */
public class BufferedReaderStudy {
	public static void main(String[] args) throws IOException {
		BufferedReader bufferedReader = new BufferedReader(new FileReader("BufferWriterStudy.txt"));
		String line = null;
		while ((line=bufferedReader.readLine())!=null){
			System.out.println(line);
		}
		bufferedReader.close();
	}
}

BufferedWriter示例代码:

package com.gisapartment.java.io;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
/**
 * @author www.gisapartment.com
 * Copyright © www.gisapartment.com
 */
public class BufferedWriterStudy {
	public static void main(String[] args) throws IOException {
		BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter("BufferWriterStudy.txt"));
		for (int i = 0; i < 10; i++) {
			bufferedWriter.write("GIS公寓");
			bufferedWriter.newLine();
			bufferedWriter.flush();
		}
		bufferedWriter.close();
	}
}

14.打印流

PrintWriter:

  • 封装了print()/println()方法,支持写入后换行。
  • 支持数据原样打印。

示例代码:

package com.gisapartment.java.io;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
/**
 * @author www.gisapartment.com
 * Copyright © www.gisapartment.com
 */
public class PrintWriterStudy {
	public static void main(String[] args) throws FileNotFoundException {
		PrintWriter printWriter = new PrintWriter("PrintWriterStudy.txt");
		printWriter.println(1024);
		printWriter.println("GIS公寓");
		printWriter.println(13.14);
		printWriter.println(true);
		printWriter.close();
	}
}

15.转换流

桥转换流:InputStreamReader/OutputStreamWriter

  • 可将字节流转换为字符流。
  • 可设置字符的编码方式。

InputStreamReader示例代码:

package com.gisapartment.java.io;
import java.io.*;
import java.nio.charset.StandardCharsets;
/**
 * @author www.gisapartment.com
 * Copyright © www.gisapartment.com
 */
public class InputStreamReaderStudy {
	public static void main(String[] args) throws IOException {
		InputStreamReader inputStreamReader = new InputStreamReader(new FileInputStream("InputStreamReaderStudy.txt"), StandardCharsets.UTF_8);
		int data = 0;
		while ((data=inputStreamReader.read())!=-1){
			System.out.print((char) data);
		}
		inputStreamReader.close();
	}
}

OutputStreamWriter示例代码:

package com.gisapartment.java.io;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.nio.charset.StandardCharsets;
/**
 * @author www.gisapartment.com
 * Copyright © www.gisapartment.com
 */
public class OutputStreamWriterStudy {
	public static void main(String[] args) throws IOException {
		OutputStreamWriter outputStreamWriter = new OutputStreamWriter(new FileOutputStream("OutputStreamWriterStudy.txt"), StandardCharsets.UTF_8);
		for (int i = 0; i < 10; i++) {
			outputStreamWriter.write("GIS公寓\n");
			outputStreamWriter.flush();
		}
		outputStreamWriter.close();
	}
}

16.File类

概念:代表物理盘符中的一个文件或者文件夹。

常用方法:

方法名解释
createNewFile()创建一个新文件
mkdir()创建一个新目录
delete()删除文件或空目录
exists()判断文件或文件夹是否存在
getAbsolutePath()获取文件的绝对路径
getName()获取文件名,注意会带文件后缀
getParent()获取文件/目录所在的目录
isDirectory()判断是否是目录
isFile()是否为文件
length()获取文件的长度
listFiles()列出目录中的所有内容
renameTo()修改文件名为
deleteOnExit()jvm退出后删除文件
canWrite()判断文件是否可写入

FileFilter示例代码:

package com.gisapartment.java.io;
import java.io.File;
/**
 * @author www.gisapartment.com
 * Copyright © www.gisapartment.com
 */
public class FileFilterStudy {
	public static void main(String[] args) {
		File file = new File(System.getProperty("user.dir"));
		File[] files = file.listFiles(pathname -> pathname.getName().endsWith("txt"));
		for (File file1 : files) {
			System.out.println(file1);
		}
	}
}

17.Properties

属性集合,线程安全。

特点:

  1. 存储属性名和属性值。
  2. 属性名和属性值都是字符串类型。
  3. 没有泛型。
  4. 和流有关。

示例代码:

package com.gisapartment.java.io;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Properties;
import java.util.Set;
/**
 * @author www.gisapartment.com
 * Copyright © www.gisapartment.com
 */
public class PropertiesStudy {
	public static void main(String[] args) throws IOException {
		Properties properties = new Properties();
		properties.setProperty("String_Title", "PropertiesStudy");
		properties.setProperty("String_Name", "Properties");
		Set<String> strings = properties.stringPropertyNames();
		for (String string : strings) {
			System.out.println("Key:"+string+";"+properties.getProperty(string));
		}
		
		// 输出
		PrintWriter printWriter = new PrintWriter("PropertiesStudy.txt");
		properties.list(printWriter);
		printWriter.close();
		// 加载
		FileOutputStream fileOutputStream = new FileOutputStream("PropertiesStudyStore.txt");
		properties.store(fileOutputStream, "www.gisapartment.com");
		fileOutputStream.close();
	}
}

PropertiesStudy.txt内容:

-- listing properties --
String_Name=Properties
String_Title=PropertiesStudy

PropertiesStudyStore.txt内容:

#www.gisapartment.com
#Wed Apr 28 21:27:36 CST 2021
String_Name=Properties
String_Title=PropertiesStudy
编程自学指南:java程序设计开发,Java高级API-I/O 流学习笔记 编程自学指南:java程序设计开发,Java高级API-I/O 流学习笔记,流是一组有顺序的、有起点和终点的数据集合,它是对数据传输的一种抽象表述。Java 中的 I/O 流用于处理不同类型的数据传输,如文件读写、网络通信等。 阅读详情

相关推荐

Rocky Linux 9.2:利用LVM动态调整/home与/根分区空间分配

本文详细介绍了在Rocky Linux 9.2系统中,如何利用LVM(逻辑卷管理器)动态调整/home与根分区(/)的空间分配。针对根分区空间不足而/home分区闲置的常见问题,文章提供了从检查磁盘布局、备份数据、卸载分区、调整逻辑卷大小到重建文件系统的完整操作步骤,并重点说明了XFS与EXT4文件系统在缩容时的不同处理方法,帮助系统管理员安全、在线地实现存储空间的灵活调配。

weixin_29271263的博客 179

自制笔记 | Java基础——File、IO流(字节流、字符流、缓冲流、转换流等)(持续更新...)

如果先用序列化流将一个对象保存到文件中,然后再修改这个对象的类的结构,再用反序列化流读取文件中的对象,此时会报错。,对象中会包含版本号,文件中也会包含版本号信息。如果修改了类的结构,那么类的版本号会发生变化,进而导致用反序列化流读取对象时,版本号匹配失败,最后代码报错。:有一些特有的方法,可以把集合中的数据,按照键值对的形式写到配置文件当中,也可以把配置文件中的数据,读取到集合中来。:有一些特有的方法,可以把集合中的数据,按照键值对的形式写到配置文件当中,也可以把配置文件中的数据,读取到集合中来。

后端 966

Agent框架系列:1-低代码智能体平台深度解析Dify、Coze、n8n

Dify、Coze 和 n8n 是三大主流低代码智能体平台,各有侧重。Dify 适合企业级 AI 应用,具备强大的 RAG 和知识库管理能力,技术栈为 Python + React。Coze 由字节推出,主打零代码和快速原型开发,集成 60+ 插件,极适合非技术用户。n8n 以工作流自动化和系统集成为核心,支持 400+ 外部应用,基于 Node.js + Vue,扩展性极强。选择建议:非技术团队选 Coze,AI 应用选 Dify,复杂自动化与集成选 n8n。可根据实际需求混合使用,最大化平台优势。

3090

Java I/O流学习笔记

I/O流定义,常用方法,详细样例

qq_51874588的博客 278

【浅读论文-红外和可见光图像融合-CNN】Infrared and Visible Image Fusion using a Deep Learning Framework

1.这篇是2018年ICPR会议上发表的一篇文章1。博主个人觉得这算比较早期在VIF(红外光和可见光图像融合)中加入了深度学习这一模型的论文。2.这篇文章并不是完全使用深度学习的模型,模型主体在图像分解和融合仍然采用传统的方法,只有其中一个分支在特征提取和重建方面用到了VGG网络。3.论文地址4.代码地址本文提出了基于深度学习框架的一种新算法。本文提出使用下述论文中Image fusion with guided filtering2中的分解方法将源图像分解为基本部分和细节内容。

一枚博鼠的博客 1709

ubuntu下安装多版本cuda及版本切换教程

首先,从官网下载所需版本的cuda安装包,下载链接。选择对应版本后,会跳转到该版本的配置信息页面。比如我是ubuntu20.04系统,已经安装好了cuda10.0,但是现在还需要用到cuda9.0。那么,在选定版本后,配置信息如下图所示(由于Version选项中没有20.04,因此我们随便选一个即可,这里选的16.04,这一选项不会影响后面的安装),Installer Type选择为runfile(因为使用deb文件进行安装的话,可能会将已经安装的较新的显卡驱动给替换掉),选择好之后点击Base Insta

zeeq的博客 3万+

详解 Java I/O(笔记)

什么是I/O? IO(输入/输出)是比较抽象的,看不到明显的运行效果,但输入和输出是所有程 序都必需的部分。使用输入机制,允许程序读取外部数据(包括来自磁盘、光盘等存 储设备的数据、来自网络的数据)、用户输入数据;使用输出机制,允许程序记录运 行状态,将程序数据输出到磁盘、光盘等存储设备中和网络其他设备中。 Java的IO通过java.io包下的类和接口来支持,在java.io包下主要包括输入流、输 出流两种IO流,每种输入、输出流又可分为字节流和字符流两大类。其中字节流以字 节为单位来处理输入、输出操

菜鸟踩坑 428

AI人工智能领域持续学习:提升技术能力的关键

在当今科技飞速发展的时代,AI人工智能已经渗透到我们生活的方方面面。本文章的目的就是帮助大家了解在AI人工智能领域持续学习的重要性,以及如何通过持续学习来提升自己的技术能力。文章会涵盖AI的核心概念、持续学习的原理和方法、实际应用场景等方面,让大家对AI领域的持续学习有一个全面的认识。本文首先会介绍AI人工智能的核心概念,让大家对这个领域有一个初步的了解。然后详细讲解持续学习的原理和方法,通过代码示例展示如何在实际项目中实现持续学习。接着会分析AI持续学习在不同场景的应用,推荐一些学习工具和资源。

AI 原生应用开发的博客 1289

Java学习笔记之----I/O(输入/输出)二

【今日】孩儿立志出乡关,学不成名誓不还。

没技术的博客 834

YOLOv5源码逐行超详细注释与解读(3)——训练部分train.py

全网最详细的YOLOv5项目源码解读之训练部分train. py。全文近5万字!代码逐行注释,逐段讲解,小白入门必备!

路人贾的博客 3万+

3.PCIe协议分析1-预备知识点

PCIE协议分析1主要讲一下四方面: PCI-E配置空间 PCI-E地址映射 PCI-E Bar空间 PCI-E层级结构详谈 (1)PCIE配置空间 我们过来学习PCIE的同学应该都接触各种类型的功能芯片吧,这些功能芯片连接在电路里面我们可以认为它是一个外部设备,这些设备里面有自己独有的寄存器区域,比如SDRAM里面的ID寄存器或者其他配置寄存器。好的,其实我们PCIE板卡也相当...

一个早起的程序员 4145

Java之I\O操作-超详细

I\O流

玩转Java 1775

微信小程序 - 最新详细实现气泡菜单功能,点击任意元素在底部或附近周围弹出气泡菜单列表,仿微信气泡弹框显示菜单快捷功能收纳,自定义气泡弹窗/菜单气泡弹窗,小程序气泡框嵌套菜单组件插件,自动计算弹出定位

微信小程序,vue2,vue3,气泡列表,汽泡菜单,气泡框,泡泡框,悬浮框,悬浮菜单,点击菜单按钮弹出气泡,对话箭头气泡框,弹出的气泡准确定位并吸附在附近,弹出式气泡,弹窗菜单,气泡自定义HTML弹窗,带三角的气泡弹框,三角气泡框里面嵌套菜单,当点击一个按钮或元素时,会从附近弹出一个小气泡一样的菜单列表,自定义气泡框内的内容,点击一个元素在附近弹出一个气泡弹框功能效果,气泡弹框不准怎么办,被盖住了,挡住了,长按弹出,组件插件,微信,自定义气泡菜单组件,气泡弹出框,小程序自定义气泡框,菜单气泡,包裹列表的三角

🏆 前端领域优质创作者 3923

java I/O编程 学习笔记

java I/O 学习笔记 一、文件对象 File类,就是文件对象 基础操作,文件删除,是否存在等 import java.io.File; public class javaDemo{ public static void main(String[] args) throws Exception { File file = new File("file.txt");...

yaologos的博客 255

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

《Java面向对象编程》学习笔记16—Java I/O系统

本文已搬家至【Java学习笔记】I/O体系

gnuhpc的专栏 3184

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Java I/O模型笔记

学习笔记,整理I/O过程,区分同步异步,阻塞非阻塞常见概念,整理I/O模型,Java I/O模型 1. I/O 过程 我们编写的程序是运行在用户空间中,而用户空间无法直接操作内核空间,这就意味着,我们编写的程序,是无法直接访问由内核管理的I/O。因此,通常用户进程中的一次完成I/O交互应分为两个阶段: I/O调用阶段:应用程序向内核发起系统调用 I/O执行阶段: 等待数据阶段:内核等待I/O设备(磁盘/网络)准备数据 拷贝数据阶段:将数据从内核缓存区拷贝到用户空间缓冲区 从上面这个流程我们可.

卤小蛋学编程 492

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Java 文件I/O使用笔记

Java 文件I/O使用笔记 Java I/O的设计十分的繁杂,几乎每次使用起来都需要百度一下,很浪费时间。因此,本文希望尽可能少的列出足以满足平时文件I/O需求的知识点,以此来简化Java I/O的使用和记忆难度。 1. Text I/O &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp; Binary I/O 关于Text I/O和Binary I/O的区别,引用《Introduction to Java Programmin...

qq_41854763的博客 292

Java I/O系列笔记

(会经常用到的网址:Java API。请提前打开,方便查阅) 1. 基本概念   Stream:流。一个流可以理解为一个数据的序列,就像水流一样,是有序进行的。输入流表示从源(Source)读取的数据序列,输出流表示向一个目标写入的数据序列。   File:文件。Java中的File是文件和目录路径名的抽象表示形式。 用户界面和操作系统使用与系统相关的 路径名字符串 来命名文件和目录。 ...

离殇丶的博客 296

Java I/O学习笔记

Java I/O学习笔记 一. Java I/O的几个基本概念 二. File类 三. 字节流 四. 字符流 五. 字节流与字符流的转换 字节流可以通过某些类转变成字符流。最常用的有: 输入端 InputStreamReader input=new InputStreamReader(new FileInputStream(new File("D:/input.txt"))); 输

AlanGogogo 923

java file I o笔记_Java学习笔记-I/O

File类一个File类的对象,表示了磁盘上的文件或目录。File类提供了与平台无关的方法来对磁盘上的文件或目录进行操作。import java.io.*;class FileTest{public static void main(String[] args) throws Exception{//File f = new File("1.txt");//f.createNewFile();...

weixin_34175189的博客 191

Java编程笔记17:I/O

Java编程笔记17:I/O I/O代表着输入(Input)和输出(Output),具体指从外部读取数据到内存中或者从内存中输出数据到外部。这里的“外部”可以是硬盘、磁带等本地存储介质,也可以是网络连接的远程设备。 输入和输出是以内存为中心而言的一个相对概念。毕竟对于一个最简单的计算机结构而言,内存和CPU是不可或缺的,我们的程序就是运行在内存中的,而其它的东西都是非必要的。所以虽然硬盘是存在于电脑内部的,但对于内存而言,依然是一个“外部存储器”。所以从硬盘读取数据到内存这个过程就称作输入(Input),

梦幻天空 1034

Java I/O笔记

I/O输入与输出<br />1.    File类<br /> <br />File 类是IO包中唯一代表磁盘文件本身信息的类,而不是文件中的内容。<br />File类定义了一些与平台无关额方法来操纵文件,例如,创建、删除文件和重命名文件。<br />Java中的目录被当作一种特殊的文件使用,list方法可以返回目录中的所有子目录和文件名。<br />在Unix下的路径分隔符为/,在Dos下的路径分隔符为/,Java可以正确处理Unix和Dos路径的分隔符。<br /> <br />编程举例:判断某个文件

vsfeng的专栏 869

Java笔记--I/O系统

按照类型划分:字节流(万能流):字节输出流:OutputStream(抽象类)-- 实现子类:FileOutputStream-- 实现子类:字节缓冲输出流:BufferedOutputStream字节输入流:InputStream(抽象类)-- 实现子类:FileInputStream-- 实现子类:字节缓冲输入流:BufferedInputStream字符流:字符输入流:Reader(抽象类)-- 实现子类:InputStreamReader。

weixin_51868030的博客 808

java I/O笔记

  JAVA  I/O   1. 基本概念 : I/O(Input/Output): 输入输出 数据源 (Data Source): 提供数据的地方 , 包括键盘输入 , 硬盘文件 , 网络文件等 数据宿 (Data Sink): 接收数据的地方 , 包括显示器 , 硬盘文件 , 打印机等 . 2. 流 (Stream):JAVA 中把不同的数据源与程序间的数据传输都抽象表述为 ...

huiwen8213的博客 156

Java I/O 笔记

1. Java常用I/O类概述 2. 文件I/O   你可以根据该文件是二进制文件还是文本文件来选择使用FileInputStream(FileOutputStream)或者FileReader(FileWriter)。   这几个类允许你从文件开始到文件末尾一次读取一个字节或者字符,或者将读取到的字节写入到字节数组或者字符数组。你不必一次性读取整个文件,相反你可以按顺序地读取文件...

weixin_30883311的博客 85
上一篇: Oracle详细笔记
下一篇: oracle查询当前用户下表的数据
Java_小小白
博客等级 码龄9年 10粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值