java io操作
来源:互联网 发布:烟台南山学院教务网络 编辑:程序博客网 时间:2024/05/29 02:33
java.io包中流的操作主要有字节流、字符流两大类,两类都有输入和输出操作。在字节流中输出数据主要使用OutputStream类完成,输入使用的是InputStream类。在字符流中输出主要是使用Writer类完成,输入主要是使用Reader类完成。
在Java中IO操作也是有相应步骤的,以文件的操作为例,主要的操作流程如下:
1、使用File类打开一个文件。
2、通过字符流或字节流的子类指定输出的位置。
3、进行读/写操作。
4、关闭输入/输出。
字节流
1、字节输出流
字节流主要操作byte类型数据,以byte数组为准,主要操作类是OutputStream类和InputStream类。
例1 向文件中写入字符串
public class OutputStreamDemo01 {public static void main(String[] args) throws IOException {//第一步:使用File类找到一个文件File f=new File("d:"+File.separator+"test.txt");//第二部:通过子类实例化父类对象OutputStream out=new FileOutputStream(f);//第三部进行写操作String str="Hello World!";byte b[]=str.getBytes();out.write(b);out.close();}
之前的所有操作中,如果重新执行程序,则肯定会覆盖文件中的已有内容,那么此时可以通过FileOutputStream类的另外一个构造方法进行实例化,这样在写入的时候就表示项文件中追加内容,次构造方法如下所示:
public FileOutputStream(File file,boolean append);
在构造方法中,如果将append的值设置为true,则表示在文件的末尾追加内容。
例2追加文件内容
public class OutputStreamDemo01 {public static void main(String[] args) throws IOException {//第一步:使用File类找到一个文件File f=new File("d:"+File.separator+"test.txt");//第二部:通过子类实例化父类对象OutputStream out=new FileOutputStream(f,true);//第三部进行写操作String str="Hello World!";byte b[]=str.getBytes();for(int i=0;i<b.length;i++){out.write(b[i]);}out.close();}}
2、字节输入流
例3 从文件中读取内容
import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;public class OutputStreamDemo01 {public static void main(String[] args) throws IOException {File file=new File("d:"+File.separator+"test.txt");InputStream in=new FileInputStream(file);String str="";byte[] b=new byte[1024];int len=in.read(b);str=new String(b,0,len);in.close();System.out.println(str);}}
例4 通过判断是否读到文件末尾的方式来读取文件;
import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;public class OutputStreamDemo01 {public static void main(String[] args) throws IOException {File file=new File("d:"+File.separator+"test.txt");InputStream in=new FileInputStream(file);int len=0;byte []b=new byte[1024];//将所有的数据存入该字节数组中int temp=0;while((temp=in.read())!=-1){//in.read()每次从输入流中读取一个字节数据,当读取的值为-1时表明输入流内已经读到底 b[len]=(byte) temp; len++;}in.close();System.out.println(new String(b,0,len));}}
阅读全文
0 0
- Java.io.*操作
- java io 操作集合
- Java的IO操作
- java io操作代码
- java io操作代码
- java io 操作集合
- java 常用IO操作
- java 常用IO操作
- Java IO操作浅析
- Java IO操作总汇
- java IO操作实例
- Java IO 操作 InputStream
- JAVA IO操作
- JAVA IO 流操作
- java IO简单操作
- java IO 文件操作
- 【Java IO】文件操作
- Java中的IO操作
- yarn中的cgroup调度
- Revit明细表读取、将明细表数据存储到sql server数据库、python读取数据库
- 建学生表
- Android bug 记录
- centos 远程登录 最简单的 文件上传 下载
- java io操作
- hdu 3046 喜羊羊和灰太狼(最大流最小割初入)
- ganglia分布式服务器集群监控系统的汉化说明
- 线程池
- Qt5 text_Editor(三)
- Linux Shell之sort命令
- 【安全牛学习笔记】DNS协议隧道、DNS协议隧道-dns2tcp
- Android中资源管理机制详细分析
- [转自Oracle官方技术博客]SLES12 SP2上遇到ORA-12518: TNS:listener could not hand off client connection