您的位置:首页 > 编程语言 > PHP开发

FileInputStream从文件中读取,FileOutputStream写入时会多写入内容

2015-10-28 10:02 585 查看
问题说明:
FileInputStream从in.txt文件中读取文本,再FileOutputStream写入out.txt时会多写入内容,如下文本out.txt文件文本会多出一段“sss”文本内容。而缩短in.txt文本长度时,out.txt文件有时又不会出现多写入文本的现象。

暂时解决:如代码中

[java] view
plaincopy

// 利用数组复制的方法解决,只复制从in.txt中一次读取到buffer中的长度的数组

/*

* int readLength=0; // read()当到达文件末尾返回-1,实现连续读取写入 while

* ((readLength = fis.read(buffer)) != -1) {

*

* fos.write(Arrays.copyOf(buffer, readLength));

*

* }

*/

[java] view
plaincopy

package com.java1029.io.stream.d0905.emphasis;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.util.Arrays;

public class FileStreamDemo {

public static void main(String[] args) {

FileOutputStream fos = null;

FileInputStream fis = null;

try {

File OutFile = new File("f:/test/out.txt");

OutFile.createNewFile();

// 在原内容上追加

// fos = new FileOutputStream(OutFile,true);

fos = new FileOutputStream(OutFile);

File inFile = new File("f:/test/in.txt");

inFile.createNewFile();

fis = new FileInputStream(inFile);

byte[] buffer = new byte[1024];

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

fos.write(buffer);

}

// 利用数组复制的方法解决,只复制从in.txt中一次读取到buffer中的长度的数组

/*

* int readLength=0; // read()当到达文件末尾返回-1,实现连续读取写入 while

* ((readLength = fis.read(buffer)) != -1) {

*

* fos.write(Arrays.copyOf(buffer, readLength));

*

* }

*/

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

} finally {

try {

fis.close();

fos.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

in.txt文件文本

[plain] view
plaincopy

sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbM

out.txt输出文本

[plain] view
plaincopy

sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: