最近在研究IO
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的更多相关文章
- Java IO(1)基础知识——字节与字符
正所谓怕什么来什么,这是知名的“墨菲定律”.Java基础涵盖各个方面,敢说Java基础扎实的人不是刚毕业的学生,就是工作N年的程序员.工作N年的程序员甚至也不敢人人都说Java基础扎实,甚至精通,往往 ...
- 利用BLKTRACE分析IO性能
在Linux系统上,如果I/O发生性能问题,有没有办法进一步定位故障位置呢?iostat等最常用的工具肯定是指望不上的,[容易被误读的iostat]一文中解释过await表示单个I/O所需的平均时间, ...
- 图解 Java IO : 一、File源码
Writer :BYSocket(泥沙砖瓦浆木匠) 微 博:BYSocket 豆 瓣:BYSocket FaceBook:BYSocket Twitter ...
- [转] 利用BLKTRACE分析IO性能
在Linux系统上,如果I/O发生性能问题,有没有办法进一步定位故障位置呢?iostat等最常用的工具肯定是指望不上的,[容易被误读的iostat]一文中解释过await表示单个I/O所需的平均时间, ...
- blktrace分析IO
http://bean-li.github.io/blktrace-to-report/ 前言 上篇博客介绍了iostat的一些输出,这篇介绍blktrace这个神器.上一节介绍iostat的时候,我 ...
- RAID中条带的概念
raid把数据分成条带,一个条带横跨所有数据磁盘,每个磁盘上存储条带的一部分,称为sagment,也称为条带深度.一个条带包含的扇区或块的个数,称为条带长度. raid向操作系统提供的是卷,是连续的扇 ...
- oracle AWR详解
原文地址:https://blog.csdn.net/elvis_lfc/article/details/52326148 啥是AWR? =============================== ...
- VS2015编译GEOS
下载链接:http://trac.osgeo.org/geos/ 1. 打开cmake,加载geos源码和定位geos的工程存放位置: 2.点击configure,会报错,首先设置CMAKE_INST ...
- Java IO流关闭问题的深入研究
转自:https://blog.csdn.net/maxwell_nc/article/details/49151005 前几天看了一篇文章(见参考文章),自己动手试了下,发现有些不一样结论,作博客记 ...
随机推荐
- poj1947(树上分组背包)
题目链接:https://vjudge.net/problem/POJ-1947 题意:给定一棵树,求得到一个结点数为p最少删多少条边. 思路: 明显的树形dp,分组背包.用dp[u][j]表示在结点 ...
- PTA(Advanced Level)1067.Sort with Swap(0, i)
Given any permutation of the numbers {0, 1, 2,..., N−1}, it is easy to sort them in increasing order ...
- js中的三目运算符详解
判断 javascript中的三目运算符用作判断时,基本语法为: expression ? sentence1 : sentence2 当expression的值为真时执行sentence1,否则执行 ...
- 利用js对象将iframe数据缓存, 实现子页面跳转后, 返回时不丢失之前填写的数据
利用js对象将iframe数据缓存, 实现子页面跳转后, 返回时不丢失之前填写的数据 实现描述:将数据存放在js对象中, 然后放在父页面的document对象中, 在页面刷新的时候将父页面的值取出来, ...
- JAVA开发者大会:拍拍贷MQ系统原理与应用
--喜欢记得关注我哟[shoshana]-- 前记: 5月12号参加了JAVA开发者大会,就<拍拍贷消息系统原理及应用> 作者:李乘胜老师 关于PMQ的分享整理一下笔记以及笔记的思考 和复 ...
- Scala学习二十——Actor
一.本章要点 每个actor都要扩展Actor类并提供act方法 要往actor发送消息,可以用actor!message 消息发送是异步的:”发完就忘“ 要接受消息,actor可以调用receive ...
- django websocket 实现后台日志在web端展示(+前端vue设置)
核心代码: @accept_websocket def get_log(req): if req.is_websocket(): print('收到websocket请求') with open(se ...
- 《精通Windows API-函数、接口、编程实例》——第4章文件系统
第4章文件系统 4.2 磁盘和驱动器管理 文件系统的基本概念:包括磁盘分区,卷,目录,文件对象,文件句柄,文件映射1.磁盘分区:物理磁盘,逻辑磁盘2.卷:也称逻辑驱动器,是NTFS,FAT32等文件系 ...
- c# 爬虫和组件HtmlAgilityPack处理html
测试当前爬虫的User-Agent:http://www.whatismyuseragent.net/ 大佬的博客地址:https://www.cnblogs.com/jjg0519/p/670274 ...
- VS多行注释快捷键
VS多行注释快捷键 注释:Ctrl+K,Ctrl+C 取消注释:Ctrl+K,Ctrl+U