Java编程之文件读写实例详解

网友投稿 177 2023-07-24


Java编程之文件读写实例详解

本文实例讲述了java编程中文件读写的方法。分享给大家供大家参考,具体如下:

Java中文件读写操作的作用是什么?

回答这个问题时应该先想到的是Java只是一门语言,我们的一种使用工具而已,这样答案就明晰了,就是将外来的各种数据写入到某一个文件中去,用以保存下来;或者从文件中将其数据读取出来,供我们使用。就如下电影过程,从网络资源中下载一部电影保存于你电脑中(写文件),当你想看的时候就用播放器打开(读文件)。

Java中如何对文件进行读写操作?

先理一理,Java中的流分两种,字节流和字符流,其中字节流的两个基类是InputStream和OutputStream;字符流的两个基类是Reader和Writer。所谓文件流,即我们对文件的操作留不开流。由此可知我们要用到某个类必然继承如上的四个基类之一。Java中一切都是类,一切都是对象。自然会想到文件操作有哪些类:

如下四个直接用到的类:

字节流中:FileInputStream和FileOutputStream

字符流中:FileReader和FileWriter

找到类就好办事了。剩下来的就是去找实现方法啦。

两种选择方案在这里,这就牵涉到我们如何选择合适的文件读写方式呢?

选择条件的区别:

以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。

以字符为单位读取文件,常用于读文本,数字等类型的文件.

至于是否选择用Buffer来对文件输入输出流进行封装,就要看文件的大小,若是大文件的读写,则选择Buffer这个桶来提供文件读写效率。

如下是简单运用实例:

1、运用字节流对文件进行直接读写:

public class FileTest

{

static File file = new File("d:/test.txt");

public static void main(String[] args)

{

try

{

FileOutputStream out = new FileOutputStream(file, true);

String s = "Hello,world!\r\n";

out.write(s.getBytes());

out.flush();

out.close();

//FileInputStream in = new FileInputStream(file);

//bytehttp:// [] http://b = new byte[20];

//in.read(b, 0, b.length);

//System.out.println(new String(b));

//in.close();

} catch (FileNotFoundException e)

{

e.printStackTrace();

} catch (IOException e)

{

e.printStackTrace();

}

}

}

2、运用字符流对文件进行直接读写:

public class File03

{

static File file = new File("d:/test.txt");

public static void main(String[] args)

{

try

{

FileWriter fw = new FileWriter(file,true);

fw.write("Hello,world!\r\n");

fw.flush();

fw.close();

//FileReader fr = new FileReader(file);

//int i=0;

//String s ="";

//while( ( i = fr.read() )!= -1)

//{

// s = s +(char)i;

//}

//System.out.println(s);

} catch (FileNotFoundException e)

{

e.printStackTrace();

} catch (IOException e)

{

e.printStackTrace();

}

}

}

文件读写流用Buffer封装之后的运用:

1、对字节流封装后对文件进行读写:

static File file = new File("d:/test.txt");

public static void main(String[] args)

{

try

{

// FileOutputStream out = new FileOutputStream(file, true);

// BufferedOutputStream bout = new BufferedOutputStream(out);

// String s = "I have a dream!";

// bout.write(s.getBytes());

// bout.flush();

// bout.close();

FileInputStream in = new FileInputStream(file);

BufferedInputStream bin = new BufferedInputStream(in);

byte[] b = new byte[15];

bin.read(b);

bin.close();

System.out.println(new String(b));

} catch (FileNotFoundException e)

{

e.printStackTrace();

} catch (IOException e)

{

e.printStackTrace();

}

}

}

2、对字符流封装后对文件进行读写:

public class File03

{

static File file = new File("d:/test.txt");

public static void main(String[] args)

{

try

{

// FileWriter fw = new FileWriter(file, true);

// BufferedWriter bw = new BufferedWriter(fw);

// String nextLine = System.getProperty("line.separator");

// bw.write("Hello,world!" + nextLine);

// bw.flush();

// bw.close();

FileReader fr = new FileReader(file);

BufferedReader br = new BufferedReader(fr);

int i = 0;

String s = "";

String temp = null;

while((temp=br.readLine())!=null)

{

s = s+temp;

}

System.out.println(s);

} catch (FileNotFoundException e)

{

e.printStackTrace();

} catch (IOException e)

{

e.printStackTrace();

}

}

}

希望本文所述对大家Java程序设计有所帮助。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Sublime Text 3常用插件及安装方法
下一篇:详解Java的Hibernate框架中的set映射集与SortedSet映射
相关文章

 发表评论

暂时没有评论,来抢沙发吧~