java中的IO 的示例
字符流
package jd_1;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class jd_1 {
/**
* 字符流
*
* @param args
*/
public static void main(String[] args) {
// 创建BufferedReader用于读取文件
BufferedReader reader = null;
// 创建BufferedWriter用于写入文件
BufferedWriter writer = null;
// 创建FileReader用于保存读入的路径
FileReader fis = null;
try {
fis = new FileReader("F:\\java IO\\简答copy\\source.txt");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// 创建FileWriter用于保存写入的路径
FileWriter fw = null;
try {
fw = new FileWriter("F:\\java IO\\简答copy\\targetcopy.txt");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
reader = new BufferedReader(fis);
writer = new BufferedWriter(fw);
String line = null;
// 读取的是字符串
try {
// while ((line = reader.readLine()) != null) {
// try {
// Thread.sleep(500);
// } catch (InterruptedException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// writer.write(line);
// }
// 通过数组作为中转站
char[] c = new char[1024];
StringBuffer buffer = new StringBuffer();
int legin = fis.read(c);
while (legin != -1) {
buffer.append(c);
legin = fis.read();
fw.write(c);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
System.err.println("copy成功");
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (writer != null) {
try {
writer.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
字节流
public class copy {
public static void main(String[] args) {
// 复制前
FileInputStream file = null;
// 复制后
FileOutputStream file1 = null;
try {
// 复制前的路径
file = new FileInputStream("F:\\java IO\\新建文本文档.txt");
// 复制后的路径
file1 = new FileOutputStream("F:\\java IO\\copy.txt");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// 创建一个字符数组作为中转站
byte[] Words = new byte[1024];
// 记录数组的长度
int len;
try {
while ((len = file.read(Words)) != -1) {
file1.write(Words, 0, Words.length);
System.out.println("copy成功");
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (file != null) {
try {
file.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (file1 != null) {
try {
file1.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
二进制流
package bdqn4;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
/**
* 二进制读取
*
* @author Administrator
*
*/
public class Text {
public static void main(String[] args) {
// 创建流
// 实现读写操作
// 关闭流
DataInputStream dis = null;
DataOutputStream dos = null;
FileInputStream fis = null;
try {
fis = new FileInputStream("F:\\java IO\\原图片.jpg");
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
FileOutputStream fos = null;
try {
fos = new FileOutputStream("F:\\java IO\\copy图片\\copy.jpg");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
dis = new DataInputStream(fis);
dos = new DataOutputStream(fos);
int temp;
try {
while ((temp = dis.read()) != -1) {
dos.write(temp);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
System.err.println("转移成功");
if (dis != null) {
try {
dis.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (dos != null) {
try {
dos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
判断IO的的各种属性及其方法
package bdqn1;
import java.io.File;
import java.io.IOException;
import java.util.Scanner;
public class text {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
// 实例化对象指点判断路径
File file = new File("F:\\java IO\\新建文本文档.txt");
// 判断.tet是否存在
if (file.exists()) {
System.out.println("当前文件存在");
System.out.println("文件的完整路径" + file.getAbsolutePath());
System.out.println("文件名" + file.getName());
System.out.println("文件的相对路径" + file.getPath());
System.out.println("文件的上一级目录" + file.getParent());
System.out.println("文件的长度" + file.length());
if (file.isDirectory()) {
System.out.println("当前是文件夹");
} else {
System.out.println("当前是不是文件夹");
System.err.println("请输入1删除");
int number = input.nextInt();
if (number == 1) {
boolean bool = file.delete();
if (bool) {
System.out.println("删除成功");
}
}
}
} else {
System.out.println("当前文件不存在");
try {
boolean bool = file.createNewFile();
if (bool) {
System.out.println("创建成功");
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
java中的IO 的示例的更多相关文章
- Java中的IO流(六)
上一篇<Java中的IO流(五)>把流中的打印流PrintStream,PrintWriter,序列流SequenceInputStream以及结合之前所记录的知识点完成了文件的切割与文件 ...
- java中的io系统详解 - ilibaba的专栏 - 博客频道 - CSDN.NET
java中的io系统详解 - ilibaba的专栏 - 博客频道 - CSDN.NET 亲,“社区之星”已经一周岁了! 社区福利快来领取免费参加MDCC大会机会哦 Tag功能介绍—我们 ...
- java中的IO操作总结
一.InputStream重用技巧(利用ByteArrayOutputStream) 对同一个InputStream对象进行使用多次. 比如,客户端从服务器获取数据 ,利用HttpURLConnect ...
- java中的IO流
Java中的IO流 在之前的时候我已经接触过C#中的IO流,也就是说集中数据固化的方式之一,那么我们今天来说一下java中的IO流. 首先,我们学习IO流就是要对文件或目录进行一系列的操作,那么怎样操 ...
- Java中的IO流总结
Java中的IO流总结 1. 流的继承关系,以及字节流和字符流. 2. 节点流FileOutputStream和FileInputStream和处理流BufferedInputStream和Buffe ...
- Java 中的 IO 与 socket 编程 [ 复习 ]
一.Unix IO 与 IPC Unix IO:Open-Read or Write-Close IPC:open socket - receive and send to socket - clos ...
- 深入理解Java中的IO
深入理解Java中的IO 引言: 对程序语言的设计者来说,创建一个好的输入/输出(I/O)系统是一项艰难的任务 < Thinking in Java > 本文的目录视图如下: ...
- Java中的IO流大体介绍
由于Java中的IO流是在是知识点繁多,所以我大约花了1周的时间将其整理起来.但是整理起来后并不是将完事了,我还是要分字节流和字符流来讲述.然后字节流和字符流中还有是否带有缓冲流. 讲述完IO流后我将 ...
- Java中的IO流,Input和Output的用法,字节流和字符流的区别
Java中的IO流:就是内存与设备之间的输入和输出操作就成为IO操作,也就是IO流.内存中的数据持久化到设备上-------->输出(Output).把 硬盘上的数据读取到内存中,这种操作 成为 ...
随机推荐
- pat1031-1040
1031 #include<iostream> #include<cstdio> #include<cstring> #include<vector> ...
- poj3268(置换矩阵思想)
题意:一群牛分别从1~n号农场赶往x号农场参加聚会,农场与农场之间的路时单向的,在n个农场之间有m条路,给出 a ,b , t表示从a号农场到b号农场需要t时间. 每头牛都会选择最短的路,问来回路上( ...
- webpack学习(二):先写几个webpack基础demo
一.先写一个简单demo1 1-1安装好webpack后创建这样一个目录: 1-2:向src各文件和dist/index.html文件写入内容: <!DOCTYPE html> <h ...
- unity案例入门(一)(拾取游戏)
1. 案例简述 这个案例实现一个非常简单的拾取宝物游戏,主角是一个小球,玩家通过键盘控制小球拾取全部宝物. 2. 键盘控制物体移动 private Rigidbody rd; public int f ...
- luogu【P3377】 【模板】左偏树
左偏树 顾名思义 向左偏的树 (原题入口) 它有啥子用呢??? 当然是进行堆的合并啦2333普通堆的合并其实是有点慢的(用优先队列的话 只能 一个pop 一个push 来操作 复杂度就是O(n log ...
- vultr VPS的购买及搭建ss介绍,支持锐速加速优化
Vultr虽然成立时间不久,但是其背景实力还是比较雄厚的,基于全球最大的游戏服务器提供商之一的基础,所以才有实力开设这么多的数据中心.有速度较好的日本东京.洛杉矶等机房,也有我们很多人需要的欧洲机房等 ...
- PHP接收android传过来的图片
在android手机app上,上传图片,PHP服务端接收图片需要一下步骤 1 需要android 开发人员 把图片转成base64格式 2 PHP端接收转化后的base64字符串,然后进行转译 fun ...
- linux下线程的两种封装方式
在网络编程的时候往往需要对Linux下原生的pthread库中的函数进行封装,使其使用起来更加方便,封装方法一般有两种:面向对象和基于对象,下面将分别介绍这两种方式,最后统一分析这两种方式的优缺点: ...
- 在eclipse中API的封装和调用
自己写的API的封装和调用:1.写好api的方法的实现类.2.抽取一个javadoc文档.file->Export->java->javadoc->finish->Yes ...
- java如何输入数据
Java程序开发过程中,需要从键盘获取输入值是常有的事,但Java它偏偏就没有像c语言给我们提供的scanf(),C++给我们提供的cin()获取键盘输入值的现成函数!Java没有提供这样的函数也不代 ...