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();
}
}
}
最新文章
- 从头开始搭建分布式日志平台的docker环境
- Sticks(poj1011/uva307)
- boost之bind
- 转Spring+Hibernate+EHcache配置(二)
- Registry uninstall values
- 【课程分享】基于Lucene4.6+Solr4.6+Heritrix1.14+S2SH实战开发从无到有垂直搜索引擎
- H面试程序(1)编写一个函数,要求输入年月日时分秒,输出该年月日时分秒的 下一秒
- 在浏览器中输入Google.com并且按下回车之后发生了什么?
- 【小练习05】HTML+CSS--淘宝商铺小页面
- 第五节:WebApi的三大过滤器
- 再解炸弹人,dfs&;bfs
- EOS 权限
- [洛谷3375]【模板】KMP字符串匹配
- 无法打开物理文件“E:\Database\VRVIES6841-FZ01-Global\VRVEIS.mdf”。操作系统错误 5:“5(拒绝访问。)”
- 马婕 2014MBA专硕考试 报刊选读 4 朝鲜战争会爆发吗?(转)
- 给出一列数a1,a2,a3....an,求它们的逆序对数,即有多少个有序对(i,j) 使得iaj,n高达10的6次方
- JavaScript动态加载js文件
- css 字体英文对照
- IntelliJ IDEA 版本控制(svn、git) 修改文件后,所属目录的颜色也变化
- 带圈星号用MathType可以编辑出来吗