java写入文件的几种方法分享到微信,Java写入文件,java写入文件的几种方法分享

java写入文件的几种方法分享到微信,Java写入文件,java写入文件的几种方法分享

这篇文章主要介绍了Java 语言(一种计算机语言,尤用于创建网站)语言(一种计算机语言,尤用于创建网站)写入文件的几种方法,需要的朋友可以参考下

一,FileWritter写入文件

FileWritter,字符流写入字符到文件。默认情况下,它会使用新的内容取代所有现有的内容,然而,当指定一个真(布尔)值作为文件记录器构造函数的第二个参数,它会保留现有的内容,并追加新内容在文件的末尾。

1.替换所有现有的内容与新的内容。

新建文件写入器(文件);2.保留现有的内容和附加在该文件的末尾的新内容。

new FileWriter(file,true);

追加文件示例

一个文本文件,命名为" javaio-appendfile.txt ",并包含以下内容。

字母表你好追加新内容新文件写入器(文件,真)

包com。yii Bai。文件;

导入Java。io。文件;

导入Java。io。filewriter

导入Java。io。缓冲编写器;

导入Java。io。io异常;

公共类AppendToFileExample

{

公共静态void main( String[] args)

{

尝试{

字符串数据='此内容将追加到文件末尾;

File File=new File(' javaio-append File。txt’);

//如果文件不存在,则创建它

如果(!file.exists()){

文件。创建新文件();

}

//真=追加文件

FileWriter FileWriter=新的FileWriter(文件。getname(),true);

缓冲写入器buffer writer=新缓冲写入器(fileWritter);

bufferWritter.write(数据);

缓冲写入器。close();

系统。出去。println(' Done ');

}catch(IOException e){

e。printstacktrace();

}

}

}

结果

现在,文本文件" javaio-appendfile.txt "内容更新如下:

字母表您好,此内容将附加到文件的末尾

二,BufferedWriter写入文件

缓冲字符(BufferedWriter)是一个字符流类来处理字符数据。不同于字节流(数据转换成字节),你可以直接写字符串,数组或字符数据保存到文件。

包com。yii Bai。iofile

导入Java。io。缓冲编写器;

导入Java。io。文件;

导入Java。io。filewriter

导入Java。io。io异常;

公共类WriteToFileExample {

公共静态void main(String[] args) {

尝试{

字符串内容='这是要写入文件的内容;

File File=新文件('/users/mkyong/filename。txt’);

//如果文件不存在,则创建它

如果(!file.exists()) {

文件。创建新文件();

}

文件编写器fw=新文件编写器(文件。getabsolutefile());

缓冲写入器bw=新缓冲写入器(fw);

bw.write(内容);

bw。close();

系统。出去。println(' Done ');

} catch (IOException e) {

e。printstacktrace();

}

}

}

三,FileOutputStream写入文件

文件输出流是一种用于处理原始二进制数据的字节流类。为了将数据写入到文件中,必须将数据转换为字节,并保存到文件。请参阅下面的完整的例子。

包com。yii Bai。木卫一;

导入Java。io。文件;

导入Java。io。文件输出流;

导入Java。io。io异常;

公共类WriteFileExample {

公共静态void main(String[] args) {

FileOutputStream fop=null

文件文件;

字符串内容='这是文本内容;

尝试{

File=new File(' c:/new File。txt’);

fop=新文件输出流(文件);

//如果文件不存在,则创建它

如果(!file.exists()) {

文件。创建新文件();

}

//获取以字节为单位的内容

byte[]contentInBytes=内容。getbytes();

fop。write(contentInBytes);

fop。flush();

fop。close();

系统。出去。println(' Done ');

} catch (IOException e) {

e。printstacktrace();

}最后{

尝试{

如果(fop!=null) {

fop。close();

}

} catch (IOException e) {

e。printstacktrace();

}

}

}

}

//更新的JDK7例如,使用新的"尝试资源关闭"的方法来轻松处理文件。

包com。yii Bai。木卫一;

导入Java。io。文件;

导入Java。io。文件输出流;

导入Java。io。io异常;

公共类WriteFileExample {

公共静态void main(String[] args) {

File File=new File(' c:/new File。txt’);

字符串内容='这是文本内容;

try(文件输出流fop=新文件输出流(文件)){

//如果文件不存在,则创建它

如果(!file.exists()) {

文件。创建新文件();

}

//获取以字节为单位的内容

byte[]contentInBytes=内容。getbytes();

fop。write(contentInBytes);

fop。flush();

fop。close();

系统。出去。println(' Done ');

} catch (IOException e) {

e。printstacktrace();

}

}

}

下面是其他网友的补充

java.io的几种读写文件的方式

一、java把这些不同来源和目标的数据都统一抽象为数据流。

Java 语言(一种计算机语言,尤用于创建网站)语言(一种计算机语言,尤用于创建网站)语言的输入输出功能是十分强大而灵活的。

在Java 语言(一种计算机语言,尤用于创建网站)语言(一种计算机语言,尤用于创建网站)类库中,木卫一部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流等等。

这里介绍几种读写文件的方式

二、输入流、输出流(字节流)

//读取文件(字节流)

file inputstream in=new file inputstream(' d:\ \ 1。txt’);

//写入相应的文件

文件输出流out=新文件输出流(' d:\ \ 2。txt’);

//读取数据

//一次性取多少字节

字节[]字节=新字节[2048];

//接受读取的内容(名词就代表的相关数据,只不过是数字的形式)

int n=-1;

//循环取出数据

while ((n=in.read(bytes,0,bytes.length))!=-1) {

//转换成字符串

字符串str=新字符串(字节,0,n,' UTF-8 ');#这里可以实现字节到字符串的转换,比较实用

系统。出去。println(str);

//写入相关文件

out.write(bytes,0,n);

//清除缓存向文件写入数据

出去。flush();

}

//关闭流

英寸close();

出去。close();

三、BufferedInputStream、BufferedOutputStream(缓存字节流)使用方式和字节流差不多,但是效率更高(推荐使用)

//读取文件(缓存字节流)

BufferedInputStream in=new BufferedInputStream(new file inputstream(' d:\ \ 1。txt’);

//写入相应的文件

BufferedOutputStream out=new BufferedOutputStream(新文件输出流(' d:\ \ 2。txt’);

//读取数据

//一次性取多少字节

字节[]字节=新字节[2048];

//接受读取的内容(名词就代表的相关数据,只不过是数字的形式)

int n=-1;

//循环取出数据

while ((n=in.read(bytes,0,bytes.length))!=-1) {

//转换成字符串

字符串str=新字符串(字节,0,n,' UTF-8 ');

系统。出去。println(str);

//写入相关文件

out.write(bytes,0,n);

//清除缓存,向文件写入数据

出去。flush();

}

//关闭流

英寸close();

出去。close();

四、InputStreamReader、OutputStreamWriter(字节流,这种方式不建议使用,不能直接字节长度读写)。使用范围用做字符转换

//读取文件(字节流)

InputStreamReader in=new InputStreamReader(新文件inputstream(' d:\ \ 1。txt’)、‘UTF-8’);

//写入相应的文件

output streamwriter out=new output streamwriter(新文件输出流(' d:\ \ 2。txt’);

//读取数据

//循环取出数据

char[]chars=new char[2048];

int len=-1;

while ((len=in.read(chars,0,chars.length))!=-1) {

系统。出去。println(len);

//写入相关文件

out.write(chars,0,len);

//清除缓存

出去。flush();

}

//关闭流

英寸close();

出去。close();

五、BufferedReader、BufferedWriter(缓存流,提供阅读线方法读取一行文本)

file inputstream file inputstream=新文件inputstream(' d:\ \ 1。txt’);

文件输出流文件输出流=新文件输出流(' d:\ \ 2。txt ',真);

InputStreamReader InputStreamReader=new InputStreamReader(文件输入流,“UTF-8”);

output streamwriter output streamwriter=new output streamwriter(文件输出流,' UTF-8 ');

//读取文件(字符流)

缓冲读取器in=新的缓冲读取器(inputStreamReader,“UTF-8”);#这里主要是涉及中文

//buffered reader in=new buffered reader(new file reader(' d:\ \ 1。txt’));

//写入相应的文件

缓冲写入器输出=新的缓冲写入器(输出流写入器,“UTF-8”);

//buffered writer out=new buffered writer(new file writer(' d:\ \ 2。txt’);

//读取数据

//循环取出数据

字符串str=null

while ((str=in.readLine())!=null) {

系统。出去。println(str);

//写入相关文件

out . write(str);

out . newline();

//清除缓存以将数据写入文件

out . flush();

}

//关闭流

in . close();

out . close();

不及物动词Reader,PrintWriter(PrintWriter非常好用,正在写数据的同事可以格式化)

//读取文件(字节流)

reader in=new inputstream reader(new file inputstream(' d:\ \ 1 . txt '),' UTF-8 ');

//编写相应的文件

PrintWriter out=new PrintWriter(new FileWriter(' d:\ \ 2 . txt ');

//读取数据

//循环提取数据

byte[] bytes=新字节[1024];

int len=-1;

while ((len=in.read())!=-1) {

system . out . println(len);

//写相关文件

out . write(len);

//清除缓存

out . flush();

}

//关闭流

in . close();

out . close();

七、基本用法那么多。当然,每次阅读和写作的使用是可以分开的。为了更好的利用io。建议使用BufferedInputStream和BufferedOutputStream在流中进行读写。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: