java基础讲解14-----IO
package com.io;
import java.io.File;
import java.io.IOException;
public class IoClass {
/**
* 1.什么是流?
* 流是一组有序的数据序列,根据操作类型可以分为 输入流/输出流两种
* 流提供了一条通道程序,可以使用这条通道把源种的字节序列送到目的地
*
* java由数据流处理输入/输出模式,程序从指向源的输入流种读取源种数据。源可以是文件,网络,压缩包等
*
* 输出流 指的是数据要到达的目的地,程序通过 向 输出流种写入数据,把数据信息传递到目的地。 输出流的目的 文件,网络,压缩包
*
*
* 2.输入流 InputStream 字节输入流的抽象类,是所有的字节输入流的父类
*
* 3.输出流 OutStream 字节输入流的抽象类
*
* 4.File类
* File类是唯一代表磁盘文件本身的对象,通过File类里面的方法,实现创建,删除,重命名等操作。
*
*
*
*
*/
public static void main(String[] args) {
//文件的删除
File file=new File("gg.txt"); //默认是在项目的根目录下面
if(file.exists())
{
file.delete();
System.out.println("如果有了文件,就删除");
}else
{
try {
file.createNewFile();
System.out.println("文件已经创建");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
2.文件的读取
package com.io;
import java.io.File;
/**
* 文件的读取
* @author chb
*
*/
public class FileTest {
public static void main(String[] args) {
File file=new File("gg.txt");
if(file.exists())
{
String name=file.getName();
System.out.println("文件的文字: "+name);
boolean hidden=file.isHidden();
System.out.println("是否是可以读文件:"+hidden);
}else
{
System.out.println("没有该文件");
}
}
}
3. //写入数据 //读取数据
package com.io;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
public class FileOutput {
public static void main(String[] args) {
/**
* FileOutputStream为什么使用output输出流 来写入?
*
* 因为输出流指向的是数据要到达的目的地,程序通过向输出流中写 入数据 才可以传递到目的地。
*/
//写入数据
File file=new File("gg.txt"); //创建文件对象
//创建输出流对象
try {
FileOutputStream out=new FileOutputStream(file);
//创建数组
byte bu[]="我爱你,爱着你,就像老鼠爱大米".getBytes();
out.write(bu); //将数组中的信息写入到文件中
out.close(); //关闭流
} catch (Exception e) {
System.out.println("失败");
e.printStackTrace();
}
/****************************************************************/
//读取数据
try {
//创建输入流对象
FileInputStream input=new FileInputStream(file);
byte b[]=new byte[1024];
int len=input.read(b);
//将文件中的信息输出
System.out.println("文件的信息是:"+ new String(b,0,len));
input.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
4.FileReader / FileWriter
/**
* 1.为什么使用FileReader FileWrite
*
* 使用FileOutputStream类向文件中写入数据,使用FileInputStream从文件中读取内容,缺点就是,这两个类,
* 只提供对字节或者字节数组的读取方法,有时候会出现乱码
*
* 所以使用FileReader/FileWrite 字符流
*
*
*
*
*/
package com.io;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class Student {
/**
* 创建带缓存的io
*
*/
public static void main(String[] args) {
//**********************写入*******************************
String s[]={"你好","我不好","我真的不好"};
File file=new File("gg2.txt");
try {
FileWriter fw=new FileWriter(file);
//创建BufferedWrier对象
BufferedWriter bw=new BufferedWriter(fw);
for(int i=0;i<s.length;i++)
{
bw.write(s[i]);//把内容添加到 BufferedWriter
bw.newLine(); //将数组中的单个元素一单行的形式写入文件
}
bw.close();fw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//**********************读取*******************************
try {
FileReader fr=new FileReader("gg2.txt");
//创建BufferedReader
BufferedReader br=new BufferedReader(fr);
String str=null;
int i=0;
//如果文件中的文本行数不为null,则开始循环
while((str=br.readLine())!=null)
{
i++;//将变量加加
System.out.println("第一行:"+i+" 行"+str);
}
br.close();fr.close();
} catch ( Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
java基础讲解14-----IO的更多相关文章
- Java基础系列8——IO流超详细总结
该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架. 在初学Java时,I ...
- 夯实Java基础系列14:深入理解Java枚举类
目录 初探枚举类 枚举类-语法 枚举类的具体使用 使用枚举类的注意事项 枚举类的实现原理 枚举类实战 实战一无参 实战二有一参 实战三有两参 枚举类总结 枚举 API 总结 参考文章 微信公众号 Ja ...
- Java基础教程:IO流与文件基础
Java:IO流与文件基础 说明: 本章内容将会持续更新,大家可以关注一下并给我提供建议,谢谢啦. 走进流 什么是流 流:从源到目的地的字节的有序序列. 在Java中,可以从其中读取一个字节序列的对象 ...
- 图学java基础篇之IO
java io体系 如图可以看出,java的io按照包来划分的话可以分为三大块:io.nio.aio,但是从使用角度来看,这三块其实揉杂在一起的,下边我们先来概述下这三块: io:主要包含字符流和字节 ...
- Java基础之详谈IO流
Java基础知识.IO流详细讲解.你所要的IO这里都有
- JAVA基础知识之IO——对象序列化
对象序列化 Java对象序列化(Serialize)是指将Java对象写入IO流,反序列化(Deserilize)则是从IO流中恢复该Java对象. 对象序列化将程序运行时内存中的对象以字节码的方式保 ...
- JAVA基础知识之IO——Java IO体系及常用类
Java IO体系 个人觉得可以用"字节流操作类和字符流操作类组成了Java IO体系"来高度概括Java IO体系. 借用几张网络图片来说明(图片来自 http://blog.c ...
- JAVA基础知识之IO——IO流(Stream)的概念
Java IO 流 Java将不同的设备或载体(键盘.文件.网络.管道等)的输入输出数据统称为"流"(Stream),即JAVA的IO都是基于流的. JAVA传统的所有流类型类都包 ...
- java基础讲解08-----类和对象
1.什么是面向对象? 面向对象设计的实质 就是对现实世界的对象进行建模操作. 现实的生活中,随处可见的一种事物就是对象,对象是事物存在的实体,通常我们将会对对象划分为两个部分,静态部分和动态部分.比如 ...
随机推荐
- 【树状数组】Codeforces Round #423 (Div. 1, rated, based on VK Cup Finals) C. DNA Evolution
题意跟某道我出的等差子序列求最值非常像…… 反正询问的长度只有10种,你就建立10批树状数组,每组的公差是确定的,首项不同. 然后询问的时候只需要枚举询问串的每一位,找找这一位对应哪棵树状数组即可. ...
- 【构造】Codeforces Round #423 (Div. 1, rated, based on VK Cup Finals) B. High Load
让你构造一棵树(给定了总结点数和总的叶子数),使得直径最小. 就先弄个菊花图(周围一圈叶子,中间一个点),然后平均地往那一圈放其他的点即可. #include<cstdio> using ...
- Hiho: 连通图
时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 还记得上次小Hi和小Ho学校被黑客攻击的事情么,那一次攻击最后造成了学校网络数据的丢失.为了避免再次出现这样的情况,学校决 ...
- 错误:Caused by:org.apache.spark.SparkException: Kryo serialization failed: Buffer overflow.Available: 0, required: 21. To avoid this,
这个是写入Redis时用的序列化器,然后错误提示是超过了大小限制,把配置调大即可. .set("spark.kryoserializer.buffer.max","128 ...
- javacripr基础总结
js中一切皆为对象 方法=函数 其实也是内建对象 函数都可以用,包括数组,函数 都可以获取 核心dom编程 -- dom d document文档 o 对象 1用户自定义对象, 2内建对象 如Arr ...
- 你家的Wifi密码安全吗?
WiFi在给我们提供方便的无线网络同时,也带了一些隐患.如果对WiFi不设密码的话,一来会因为蹭网而影响网速,二来给信息安全带来了不小隐患.针对WiFi的安全手段,一般来说就是加密.最初的加密方式是W ...
- mq组件介绍
作者:Jaskey Lam链接:https://zhuanlan.zhihu.com/p/25069846来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. RocketM ...
- mybatis批量操作-xml方式
在实际项目中,我们一般都会用到批量insert.delete.update等操作,由于使用频率还是蛮高的,这里就做个简单的记录,供以后学习和参考. 批量insert 在数据库中,批量插入可以是多条in ...
- zigbee 学习笔记
在德州仪器的站点:http://www.ti.com.cn/tool/cn/z-stack上下载安装zigbee2007协议栈版,我的是ZStack-CC2530-2.3.0-1.4.0. 以下演示一 ...
- QT5.11下载与安装教程
一.QT软件下载 Qt 5.9 之后的安装包与之前相比,不再区分 VS 版本和 MinGW 版本,而是全都整合到了一个安装包中.因此,与之前的安装包相比,体积也是大了不少,以前是 1G 多,现在是 2 ...