io流

.NET中的IO操作之文件流

被刻印的时光 ゝ 提交于 2020-03-25 05:59:20
读操作 //1.创建文件流 FileStream fsRead =new FileStream("1.txt",FileMode.Open); //2.创建缓冲区,正常情况下,是不会直接等于文件大小的。这里只有读,所以就这么干了。 byte[] bytes =new byte[fsRead.Length]; //3.开始读取, 返回值是读取到的长度。 int r =fsRead.Read(bytes,0,bytes.Lenght); //4.关闭释放流 fsRead.Close(); fsRead.Dispose(); 写操作 //1.创建写入的文件流 FileStream fsWrite fsWrite =new FileStream(@"xxx",FileMode.OpenOrCreate); //2.创建缓冲区 String msg ="HelloWorld"; byte[] bytes =Enconding.UTF8.GetBytes(msg); //3.开始写入 fsWrite.Write(bytes,0,bytes.Length); //4.关闭 fsWrite.Close(); fsWrite.Dispose(); byte数组与string之间的转换 /*在文件流写入的时候,经常需要string 和 byte数组之间的转换。 这里简单的描述一下,这方面的做法。 */

Java基础学习总结--IO流关闭

会有一股神秘感。 提交于 2020-03-20 14:58:13
一、为什么java中io流必须关闭 当我们new一个java流对象之后,不仅在计算机内存中创建了一个相应类的实例对象。而且,还占用了相应的系统资源。在内存中的实例对象,当没有引用指向的时候,java垃圾收集器会按照相应的策略自动回收,但是却无法对系统资源进行释放。所以,我们需要主动调用close()方法释放java流对象。 二、释放资源的方法: 1、方法一: File file = new File("F:/JavaPractice/IO2/src/test"); FileInputStream is = null; try { is = new FileInputStream(file); byte[] flush = new byte[1024]; int len=0; while((len=is.read(flush)) != -1) { //此处一定要放实际的读取长度,否则会将flush数组中的非读取到的数据也输出,如:默认值0 System.out.print(new String(flush, 0, len)); } }catch(FileNotFoundException e) { e.printStackTrace(); }catch(IOException e) { e.printStackTrace(); }finally { try { if(is !=

java的IO流

故事扮演 提交于 2020-03-17 08:35:16
java的IO操作 IO指的是Input,Output,即输入与输出 流划分为两类:节点流和处理流。 节点流:又称为低级流,是真实连接程序与数据源的“管道”,负责实际搬运数据。 读写一定是建立在节点流的基础上进行的。 处理流:又称为高级流,高级流不能独立存在,一定是连接在其他流上使用的, 目的是通过其连接的流将数据流经此流时对数据进行加工处理,从而简化我们实际对读写的数据加工的操作。 在低级流的基础上通过组合多个高级流在读写过程中完成一系列的数据加工操作的过程,称为流的连接。 这是java标准IO操作的精髓所在。 java.io.InputStream:所有字节输入流的父类,规定了所有输入流都应当具备读取字节的相关方法。 java.io.OutputStream:所有字节输出流的父类,规定了所有输出流都应当具备的写出字节的相关方法。 文件流:是一对低级流,用来读写文件数据。 java.io.FileInputStream:文件输入流,用来从文件中读取字节的流 java.io.FileOutputStream:文件输出流,用于向文件中读写字节的流 论功能,与RandomAccessFile一致,但是RAF又能读又能写,而文件要根据做读操作选取用输入或输出进行。 并且它们的底层实际读取操作是不一样的。 RAF是基于指针对文件读写操作,所以可以通过操作指针进行部分 覆盖写操作等

菜鸟自学java之iO流知识笔记(完整版)

僤鯓⒐⒋嵵緔 提交于 2020-03-17 05:32:17
java基础iO流 1.iO流分类: 按照流向分: 输入流:数据源到程序(InputStream,Reade读进来) 输出流:程序到目的地(OutputStream,Writer写出去) 注意:输入和输出不是固定的,而是需要看面向谁而言,是一个相对的概念 按照处理单元分: 字节流 以字节的方式将数据读入或者是写出到某一端。 字符流 以字符的方式将数据读入或者是写出到某一端。 原理:底层都是基于字节流操作,自动搜索了指定的码表 按照流的功能区分: 节点流 :可以直接从数据源或者目的地读写的数据 处理流/转换流 :不可以直接从数据源或者目的地读写的数据,通过其他流进行封装,目的主要是为了简化操作和提高性能 2.File类 指文件和目录路径名的抽象表示,文件夹或文件可能不存在也可能存在 API 说明 pathSeparator separator 路径/路径分隔符 File(File parent,String child); File(String parent,String child); File(String pathname) 构造器(没有盘符以user.dir作为相对路径) getName() getPath() getAbsolutePath() getParent() 文件名、路径名 getParent():父目录路径 exists() isFile()

【复习】 java中的 IO流(一)

牧云@^-^@ 提交于 2020-03-17 02:22:05
IO流基本概念: IO流用来处理设备之间的数据传输(内存和硬盘之间,相当于输入输出流在他们之间建立了一个管道,管道建立肯定要占用资源,所以我们使用输入输出流之后需要关闭流) Java对数据的操作是通过流的方式,流的分类按操作类型可以分为两种: 字节流:字节流可以操作任何数据类型(文本,图片,音频,视频等),在计算机中任何数据都是以字节的形式存储(一般类以 Stream结尾) 字符流:字符流只能操作纯字符数据(一般类以 Reader和Writer结尾) IO流常用父类: 流的体系结构如下 closeable<可关闭的>(close()) flushable<可刷新的>(flush()) inputStream / OutputStream / Reader / Writer 所有的 字节输入流 都是 inputStream 的子类 所有的 字节输出流 都是 OutputStream 的子类 所有的 字符输入流 都是 Reader 的子类 所有的 字符输出流 都是 Writer 的子类 以上4个流 都实现了 closeable 接口 以上 2个输出流 都实现了 flushable 接口 FileInputStream 和 FileOuputStream @ Test public void Test1 ( ) throws IOException { /

Java使用IO流读取文件显示到控制台1

情到浓时终转凉″ 提交于 2020-03-15 23:25:11
package com.io.exam; import java.io.FileReader; import java.io.IOException; /** * 不带行号的 */ public class TextFileExam { public static void main(String[] args) { // 1、创建FileReader 的实例,同时打开指定文件 FileReader fileReader = null; try { fileReader = new FileReader("读取文件路径"); // 2、读取指定文件的内容并打印到控制台 char cbuf[] = new char[1024]; int len = 0; while ((len = fileReader.read(cbuf)) != -1) { System.out.println(new String(cbuf, 0, len)); } } catch (IOException e) { e.printStackTrace(); } if (fileReader != null) { try { fileReader.close(); } catch (IOException e) { e.printStackTrace(); } } } } 来源: https://www

输入和输出(IO流)

荒凉一梦 提交于 2020-03-14 21:57:31
File类的常用方法: File对象的创建和部分方法使用: File file =new File("file\\我是文本.txt"); System.out.println("相对路径是:"+file.getPath()); //绝对路径 System.out.println("绝对路径是:"+file.getAbsoluteFile()); System.out.println("文件名字是:"+file.getName()); System.out.println("文件字符的长度:"+file.length()); //判断是否是文件,是返回true System.out.println(file.isFile()); File file2=new File("D:/自动创建.txt"); //创建文件时 如果文件不存在则创建文件并返回true,如果文件存在则不再创建并返回false。 boolean createNewFile = file2.createNewFile(); System.out.println(createNewFile); 输出结果: 注: 文件的绝对路径是由程序根据程序当前路径和文本相对路径拼接而成的(可见方法不够智能,需要注意) 流: ① 流是一组有序的数据序列 ② 以先进先出方式发送信息的通道 字节流是 8 位通用字节流,字符流是 16 位

Java - io输入输出流 --转换流

狂风中的少年 提交于 2020-03-13 19:49:55
转换流 转换输出流 OutputStreamWriter: 说明: /* * OutputStreamWriter 这个类的作用 * 就是指定输出流的编码格式 * 这个类的构造方法 需要传递 一个输出流的对象 * FileOutputStream fos = new FileOutputStream("e:gu.txt"); * OutputStreamWriter osw = new OutputStreamWriter(fos,"utf-8"); * * * */ 代码:    public static void main(String[] args)throws Exception { //创建一个字节输出流的对象 FileOutputStream stream = new FileOutputStream("e:gu.txt"); //创建转换流的对象 OutputStreamWriter osw = new OutputStreamWriter(stream,"utf-8"); //第二个参数如果不写就默认Gbk格式 osw.write("古斌牛逼"); osw.close(); } 运行结果: 转换流 字节输入流转换 InputStreamReader : 说明: /* * 这个类 InputstreamReader 是用于读取 指定字符编码格式的文本 * 操作方式:

IO流

牧云@^-^@ 提交于 2020-03-09 04:52:17
IO流 一、什么是流 流:对输入和输出设备的抽象,流的本质就是数据的传递 根据数据流向,分为: 1.输入流:从输入流中读取数据,比如:键盘输入 2.输出流:向输出流中,写入数据,比如:打印机 根据处理数据的单位,分为: 1.字节流,以字节(Byte)为单位,处理任意类型的数据(图片,视频,文件等) 2.字符流,以字符(Char)为单位,对纯文本进行处理,其实就是字节流获取文本数据之后,没有直接处理,而是查找编码获取对应的文字进行! 根据功能,分为: 1.字点流:针对特定的IO设备,进行读写,又叫低级流 2.处理流:对已存在的流进行封装或者连接,来实现读写操作,又叫高级流! 1.字符输出流 //1.设置路径 String path="./src/com/main/test.txt"; //true 拼接,接着上次的内容,继续写 FileWriter fileWriter=null; try { fileWriter=new FileWriter(path, false); fileWriter.write("hello word"); fileWriter.close(); } catch (IOException e) { e.printStackTrace(); }finally { } 2.字符输入流 try { FileReader fileReader=new

Java连载94-增强for循环、IO流与文件

限于喜欢 提交于 2020-03-09 00:50:50
一、JDK5.0新特性 1.增强for循环 2.语法 for(类型 变量:数组名/集合名){} 集合想要使用增强for循环这种语法,集合需要使用泛型。 如果不使用泛型,那么需要哦使用Object类型来定义集合中的元素 package com.bjpowernode.java_learning; import java.util.*; ​ public class D94_1_EnhanceForCirculation { public static void main(String[] args) { int[] a = {1,2,3,4,5,6}; //遍历 for(int i=0;i<a.length;i++) { System.out.println(a[i]); } System.out.println("================="); //使用foreach for(int e:a) {//int e代表的是集合或者数组中的每一个元素 System.out.println(e); } System.out.println("================="); //集合 Set<String> strs = new HashSet<String>(); strs.add("hdosafj"); strs.add("hdosafdfgdfgj"); strs