import java.io.File;
import java.io.IOException; public class Demo11_1 { public static void main(String[] args) {
//创建一个文件对象
//File f = new File("d:\\123.txt"); //得到文件的路劲
//System.out.println("文件路径:"+f.getAbsolutePath());
//得到文件的大小
//System.out.println("文件大小"+f.length());
//System.out.println("可读"+f.canRead()); //创建文件和创建文件夹
//File f = new File("d:\\zy.txt");
//if(!f.exists()){
//可以创建
// try {
// f.createNewFile(); // } catch (IOException e) {
// TODO Auto-generated catch block
// e.printStackTrace();
// }
//}else{
// System.out.println("已存在");
//} //File f = new File("d:\\ff\\zy.txt");
//if(f.isDirectory()){
// System.out.println("文件夹存在");
//}else{
// //创建
// f.mkdir();
//} //列出一个文件夹下面的所有文件
//File f = new File("d:\\ff");
//if(f.isDirectory()){
// File lists[] = f.listFiles();
// for(int i=0;i<lists.length;i++){
// System.out.println("文件名:"+lists[i].getName());
// }
//} //测试在文件加下创建文件,并判断文件夹是否存在
File f = new File("d:\\zy");
if(f.exists()){
System.out.println("文件夹存在"); }else{
f.mkdir();
}
File fn = new File("d:\\zy\\zy.txt");
if(fn.exists()){
System.out.println("文件已存在");
}else{
System.out.println("文件不存在,创建文件");
try {
fn.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException; /**
* 演示FileInputStream类的使用
* @author zy
*
*/
public class Demo11_2 {
public static void main(String[] args) throws IOException { File f = new File("d:\\123.txt");
FileInputStream fis=null;
try {
fis = new FileInputStream(f);
//定义一个字节数组
byte[] bytes = new byte[1024];
int n=0;
//读取结束返回-1
while((n=fis.read(bytes))!=-1){
//把字节转换成string
String s = new String(bytes,0,n);
System.out.println(s);
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
//关闭文件流
fis.close(); } } }
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException; /**
* 演示FileOutputStream的使用
* @author zy
*
*/
public class Demo11_3 { public static void main(String[] args) { File f = new File("d:\\test.txt");
//判断文件是否存在
if(!f.exists()){
try {
f.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//字节输出
FileOutputStream fos = null;
try {
fos = new FileOutputStream(f); String s = "小灰灰\r\n";
String sa = "喜洋洋";
//定义数组
//byte [] bytes=new byte[1024];
//把string转换成bytes数组 fos.write(s.getBytes());
fos.write(sa.getBytes());
} catch (Exception e) {
// TODO: handle exception
}finally{
try {
fos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream; public class Demo12_4 { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub //先把图片读入到内存--》写入到某个文件
//因为是二进制文件,因此只能用字节流完成
//输入流
//File f1=new File("E:\\1.jpg");
FileInputStream fis=null;
//输出流
FileOutputStream fos=null;
try {
fis=new FileInputStream("e:\\1.jpg");
fos=new FileOutputStream("f:\\1.jpg");
byte buf[]=new byte[512];
int n=0;//记录实际读取到的字节数
//循环读取
while((n=fis.read(buf))!=-1){
//输出到指定文件
fos.write(buf);
} } catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}finally{
//关闭打开的文件流
try {
fis.close();
fos.close();
} catch (Exception e2) {
// TODO: handle exception
}
}
} }
import java.io.FileReader;
import java.io.FileWriter; public class Demo12_5 { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub //文件取出字符流对象(输入流)
FileReader fr=null;
//写入到文件(输出流)
FileWriter fw=null; try {
//创建fr对象
fr=new FileReader("e:\\test.txt");
//创建输出对象
fw=new FileWriter("f:\\test.txt");
int n=0;//记录实际读取的字符数
//读入到内存
char c[]=new char[1024];
while((n=fr.read(c))!=-1){
//String s=new String(c,0,n);//避免乱码
//System.out.println(s);
fw.write(c);
}
} catch (Exception e) {
// TODO: handle exception
}finally{
try {
fr.close();
fw.close();
} catch (Exception e2) {
// TODO: handle exception
}
}
} }
public class Demo12_6 {

    /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub BufferedReader br=null;
BufferedWriter bw=null;
try {
//先创建FileReder对象
FileReader fr=new FileReader("e:\\test.txt");
br=new BufferedReader(fr); //创建FileWrite对象
FileWriter fw=new FileWriter("f:\\test.txt");
bw=new BufferedWriter(fw);
//循环读取文件
String s="";
while((s=br.readLine())!=null)
{
//System.out.println(s);
//输出到磁盘
bw.write(s+"\r\n");
}
} catch (Exception e) {
// TODO: handle exception
}finally{
try {
br.close();
bw.close();
} catch (Exception e2) {
// TODO: handle exception
}
}
} }

最近在研究IO的更多相关文章

  1. Java IO(1)基础知识——字节与字符

    正所谓怕什么来什么,这是知名的“墨菲定律”.Java基础涵盖各个方面,敢说Java基础扎实的人不是刚毕业的学生,就是工作N年的程序员.工作N年的程序员甚至也不敢人人都说Java基础扎实,甚至精通,往往 ...

  2. 利用BLKTRACE分析IO性能

    在Linux系统上,如果I/O发生性能问题,有没有办法进一步定位故障位置呢?iostat等最常用的工具肯定是指望不上的,[容易被误读的iostat]一文中解释过await表示单个I/O所需的平均时间, ...

  3. 图解 Java IO : 一、File源码

    Writer      :BYSocket(泥沙砖瓦浆木匠) 微         博:BYSocket 豆         瓣:BYSocket FaceBook:BYSocket Twitter   ...

  4. [转] 利用BLKTRACE分析IO性能

    在Linux系统上,如果I/O发生性能问题,有没有办法进一步定位故障位置呢?iostat等最常用的工具肯定是指望不上的,[容易被误读的iostat]一文中解释过await表示单个I/O所需的平均时间, ...

  5. blktrace分析IO

    http://bean-li.github.io/blktrace-to-report/ 前言 上篇博客介绍了iostat的一些输出,这篇介绍blktrace这个神器.上一节介绍iostat的时候,我 ...

  6. RAID中条带的概念

    raid把数据分成条带,一个条带横跨所有数据磁盘,每个磁盘上存储条带的一部分,称为sagment,也称为条带深度.一个条带包含的扇区或块的个数,称为条带长度. raid向操作系统提供的是卷,是连续的扇 ...

  7. oracle AWR详解

    原文地址:https://blog.csdn.net/elvis_lfc/article/details/52326148 啥是AWR? =============================== ...

  8. VS2015编译GEOS

    下载链接:http://trac.osgeo.org/geos/ 1. 打开cmake,加载geos源码和定位geos的工程存放位置: 2.点击configure,会报错,首先设置CMAKE_INST ...

  9. Java IO流关闭问题的深入研究

    转自:https://blog.csdn.net/maxwell_nc/article/details/49151005 前几天看了一篇文章(见参考文章),自己动手试了下,发现有些不一样结论,作博客记 ...

随机推荐

  1. numpy中np.random.seed()的详细用法

    在进行机器学习和深度学习中,我们会经常用到np.random.seed(),利用随机数种子,使得每次生成的随机数相同. numpy.randn.randn(d0,d1,...,dn) randn函数根 ...

  2. org.springframework.http.converter.HttpMessageNotReadableException

    发起请求报错:org.springframework.http.converter.HttpMessageNotReadableException 查看请求头: application/json 所以 ...

  3. WinForm打包

    首先要在想要打包的项目下创建一个新的项目, 创建好setup项目,之后点击属性,去修改打包软件的名字,ProductName....可以选填 到此已经创建好了setup工程了,那么下面开始将要打包的d ...

  4. 如何使用RedisTemplate访问Redis数据结构之list

    Redis的List数据结构 这边我们把RedisTemplate序列化方式改回之前的 Jackson2JsonRedisSerializer<Object> jackson2JsonRe ...

  5. OBB碰撞

    OBB碰撞检测,坐标点逆时针 class OBBTest extends egret.DisplayObjectContainer { private obb1:OBB; private obb2:O ...

  6. 【leetcode】287. 寻找重复数

    题目链接:传送门 题目描述: 给定一个数组 nums 包含 n + 1 个整数,每个整数在 1 到 n 之间,包括 1 和 n.现在假设数组中存在一个重复的数字,找到该重复的数字. 注意 不能修改数组 ...

  7. VMware与主机联网设置

    1.编辑-虚拟机网络编辑器 2.虚拟机设置 3. 4.主机ping虚拟机

  8. core路由设置

    全局路由设置 app.UseMvc(routes => { routes.MapRoute( name: "areas", template: "{area:exi ...

  9. springboot内置tomcat配置虚拟路径

    在Springboot中默认的静态资源路径有:classpath:/METAINF/resources/,classpath:/resources/,classpath:/static/,classp ...

  10. 字节流、字符串、16进制字符串转换__java

    package com.dvn.li.main; /** * @Package: * @ClassName:TypeConversion * @Description:字节流.字符串.16进制字符串转 ...