四套读写文件方案

四套读写文件方案 :实例

一:使用字节流读取文本文件

//字节输入流练习:从文本文件读取各种数据(字母,字符串都支持)

//声明流对象

try {

FileInputStream fis=new FileInputStream("c:\\ming.txt");

int data;

System.out.println("可读取的字节数:"+fis.available());

System.out.println("文件内容为:");

//循环读取数据

byte[] buffer=new byte[1024];

StringBuilder sb=new StringBuilder();

while ((data=fis.read(buffer))!=-1) {

//byte[]转为字符串

String str=new String(buffer,0,data,"gb2312");

sb.append(str);

}

System.out.println(sb.toString());

} catch (Exception e) {

}

一:使用字节流写文本文件

// 通过字节流将内存中的数据写入到硬盘上

FileOutputStream fos=null;

try {

String str="你是人间的四月天";

byte[] words=str.getBytes("gb2312");

//创建流对象,一追加方式写入文件

fos=new FileOutputStream("c:\\ming.txt",true);

//写入文件

fos.write(words,0,words.length);

System.out.println("文件已更新");

} catch (Exception e) {

System.out.println("创建文件时出错!");

}finally{

try {

if (fos!=null) {

fos.close();

}

} catch (Exception e2) {

e2.printStackTrace();

}

}

二:使用字符流读取文本文件

//使用字符流读取文本文件

Reader fr=null;

try {

fr=new FileReader("c:\\ming.txt");

char[] ch=new char[1024];//中转站,缓冲区

StringBuffer sbf=new StringBuffer();

int length=fr.read(ch);//将字符读入数组

//循环读取并追加字符

while (length!=-1) {

sbf.append(ch,0,length);

length=fr.read(ch);

}

System.out.print(sbf);

} catch (Exception e) {

e.printStackTrace();

}finally{

try {

if (fr!=null) {

fr.close();

}

} catch (Exception e2) {

// TODO: handle exception

}

}

二:使用字符流写文本文件

//使用字符流写文本文件

FileWriter fw=null;

try {

fw=new FileWriter("c:\\ming.txt",true);

//写入信息

String words="叶丽仪-上海滩";

fw.write(words);

fw.flush();

System.out.println("写入成功");

} catch (Exception e) {

System.out.println("文件不存在");

}finally{

try {

if (fw!=null) {

fw.close();

}

} catch (Exception e2) {

e2.printStackTrace();

}

}

三:字符输入流BufferedReader读取文件

FileReader fr=null;

BufferedReader br=null;

try {

//创建一个FileReader对象

fr=new FileReader("c:\\ming.txt");

//创建一个BufferedReader对象

br=new BufferedReader(fr);

//读取一行数据

String line=br.readLine();

while (line!=null) {

System.out.println(line);

line=br.readLine();

}

} catch (Exception e) {

e.printStackTrace();

}finally{

try {

if (br!=null) {

br.close();

}if (fr!=null) {

fr.close();

}

} catch (Exception e2) {

e2.printStackTrace();

}

}

三: 使用MyBufferedWriter来写入文本文件

FileWriter fw=null;

BufferedWriter bw=null;

try {

fw=new FileWriter("c:\\ming.txt",true);

bw=new BufferedWriter(fw);

//写入信息

bw.write("故乡的原风景");

bw.newLine();

bw.write("城里的月光-许美静");

bw.flush();

fw.close();

//读取文件内容

FileReader fr=new FileReader("c:\\ming.txt");

BufferedReader br=new BufferedReader(fr);

String line=br.readLine();

while (line!=null) {

System.out.println(line);

line=br.readLine();

}

} catch (Exception e) {

System.out.println("文件不存在");

e.printStackTrace();

}finally{

try {

if (bw!=null) {

bw.close();

}

if (fw!=null) {

fw.close();

}

} catch (Exception e2) {

// TODO: handle exception

}

}

四:// 使用字节流类DataOutputStream写二进制文件

DataOutputStream out=null;

DataInputStream dis=null;

try {

//创建输入流对象

FileInputStream fis=new FileInputStream("c:\\范宁.jpg");

dis=new DataInputStream(fis);

//创建输出流对象

FileOutputStream outFile=new FileOutputStream("c:\\范宁小美女33.jpg");

out=new DataOutputStream(outFile);

int temp=dis.read();

while (temp!=-1) {

out.write(temp);

temp=dis.read();

}

System.out.println("复制成功");

fis.close();

outFile.close();

} catch (Exception e) {

System.out.println("文件不存在");

}finally{

try {

if (dis!=null) {

dis.close();

}

if (out!=null) {

out.close();

}

} catch (Exception e2) {

e2.printStackTrace();

}

}

时间: 2024-10-03 17:16:24

四套读写文件方案的相关文章

四套读写方案

第一套:字节流读取写入方案 FileInputStream :字节流方式读取文本文件 FileOutputStream:字节流写入硬盘 第二套:字符流读取写入方案 FileReader:字符流读取文本 FileWriter:字符流写入文本 BufferedReader:自定义缓存大小,读取文本 8192个char BufferedWriter:写入文本 一般和FileReader和FileWriter结合使用 第四套:可以读取二进制(img图片等 ) DataInputStream:将本地的im

Java 读写文件方案

一.获得控制台用户输入的信息     public String getInputMessage() throws IOException...{         System.out.println("请输入您的命令∶");         byte buffer[]=new byte[1024];         int count=System.in.read(buffer);         char[] ch=new char[count-2];//最后两位为结束符,删去不要

四套写入方案(仅供参考)

四套写入方案 第一套:字节流读取写入方案 FileInputStream :字节流方式读取文本文件 FileOutputStream:字节流写入硬盘 第二套:字符流读取写入方案 FileReader:字符流读取文本 FileWriter:字符流写入文本 第三套: BufferedReader:自定义缓存大小 BufferedWriter:写入文本 一般和FileReader和FileWriter结合使用 第四套:可以读取二进制(img图片等 ) DataInputStream:将本地的img加载

四套读取方案

第一套:字节流读取写入方案 FileInputStream :字节流方式读取文本文件 FileOutputStream:字节流写入硬盘 第二套:字符流读取写入方案 FileReader:字符流读取文本 FileWriter:字符流写入文本 BufferedReader:自定义缓存大小,读取文本 8192个char BufferedWriter:写入文本 一般和FileReader和FileWriter结合使用 第四套:可以读取二进制(img图片等 ) DataInputStream:将本地的im

二十四、Android文件的读写

Android的文件读写与JavaSE的文件读写相同,都是使用IO流.而且Android使用的正是JavaSE的IO流,下面我们通过一个练习来学习Android的文件读写. 1.创建一个Android工程 [html] view plaincopy Project name:File BuildTarget:Android2.2 Application name:文件读写 Package name:test.file Create Activity:DateActivity Min SDK Ve

解决 python 中读写文件的终极方案 UnicodeDecodeError: 'gbk' codec can't decode byte 0x9d in position 1270: illega

UnicodeDecodeError: 'gbk' codec can't decode byte 0x9d in position 1270: illegal multibyte sequence 上面是遇到的错误,本来想完成读文件,再写入另一文件的.但是在 fp.read() 时,一直遇到上面的错误,经过各种百度,google, 还有神奇的 stackoverflow 才知道是字符流的问题. 知道问题所在,还是没有解决,又苦苦搜索,终于在 stackoverflow 上找到灵感,可以把 op

php中并发读写文件冲突的解决方案(文件锁应用示例)

PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言.语法吸收了C语言.Java和Perl的特点,入门门槛较低,易于学习,使用广泛,主要适用于Web开发领域.PHP的文件后缀名为php. 本文为大家讲解的是php中并发读写文件冲突的解决方案(文件锁应用示例),感兴趣的同学参考下. 在这里提供4种高并发读写文件的方案,各有优点,可以根据自己的情况解决php并发读写文件冲突的问题. 对于日IP不高或者说并发数不是很大的应用,一般不用考虑这

php中并发读写文件冲突的解决方案

在这里提供4种高并发读写文件的方案,各有优点,可以根据自己的情况解决php并发读写文件冲突的问题. 对于日IP不高或者说并发数不是很大的应用,一般不用考虑这些!用一般的文件操作方法完全没有问题.但如果并发高,在我们对文件进行读写操作时,很有可能多个进程对进一文件进行操作,如果这时不对文件的访问进行相应的独占,就容易造成数据丢失.例如:一个在线聊天室(这里假定把聊天内容写入文件),在同一时刻,用户A和用户B都要操作数据保存文件,首先是A打开了文件,然后更新里面的数据,但这里B也正好也打开了同一个文

Spring+MyBatis实现数据库读写分离方案

方案1通过MyBatis配置文件创建读写分离两个DataSource,每个SqlSessionFactoryBean对象的mapperLocations属性制定两个读写数据源的配置文件.将所有读的操作配置在读文件中,所有写的操作配置在写文件中. 优点:实现简单缺点:维护麻烦,需要对原有的xml文件进行重新修改,不支持多读,不易扩展实现方式 <bean id="abstractDataSource" abstract="true" class="com