java 把一个文件写入到另一个文件中
来源:互联网 发布:sql server rank over 编辑:程序博客网 时间:2024/04/29 22:06
文件的读取与写入一般有三种,按字节写,按字符写,按行写。对于按字符本人不是很了解,对于按字节与按行写了解比较多。
一,对于按字节写一般是定义字节数组,然后通过read方法把字节流写入到字节数组即可。(其实对于字节的操作,在java网络的编程中用得比较多,如果中间牵涉到数据是按字节传输的时候,对于字节操作是需要很细致的,这个时候如何把字节跟字符串互换,然后进行相识的操作在解析数据,这里面有很多问题,写服务器时解决不少,不少心得在以后再写。今天先完成文件夹的读写):
对于按字节写相对而言还是比较简单的,如:
FileInputStream fs = new FileInputStream(new FIle("test.txt"))
byte[] result = new byte[1024];//长度具体情况具体定义了。很有学问
fs.read(result);这样就可以把所有的内容读入到字节数组result中了。
如果是字符的话,相信也是类似的方法~
二,对于按行读取,今天我需要把一个文件里每六行存取成另一个文件的一行,直到所有的数据读取完。(具体我的应用还有把新生成的文件每一行存储到数据库中去,都是差不多的功能了,不过之后我还需要把字符什么的按一定要求转换为字节,并封装进行转输,这个之间还是有很多问题的--)
至于文件隔行存储,方法如下:(我程序中的方法)
/**
*
*从一个文件每六行读取到另一个文件中。
*
**/
public void readFile(String readfile,String writefile){
try{
FileReader fr = new FileReader(readfile);
FileWriter fw = new FileWriter(writefile);
BufferedReader br = new BufferedReader(fr);
BufferedWriter bw = new BufferedWriter(fw);
int i = 0;//记录行数的标识。
StringBuffer sb = new StringBuffer();
String temp = br.readLine();
//当读取六行,则通过bw写到写文件中。
while(temp != null){
i += 1;
sb.append(temp);
if(i == 6){//如果到六行,则把拼接的一行写到文件中。
bw.write(new String(sb));
bw.newLine();//换行符
bw.flush();//需要急时涮新流的缓冲区,不然写文件时,当缓冲区满就再也写不进去了
i = 0;
sb = new StringBuffer();
}
temp = br.readLine();
}
//如果最后不到六行,且写到末尾,则把所有余下的写到文件中。
if(sb.length() > 0){
bw.write(new String(sb));
bw.newLine();
bw.flush();
bw.close();//关闭方法在涮新以后,
}
br.close();
System.out.println("转写文件完成");
}catch(Exception e){
e.printStackTrace();
}
}
在方法实现的整个过程中并没有什么大的问题,但出现了当写入文件达到16KB时就再也写不进去了,当时被这问题给难住了,在网上查找答案时还有人说写到64KB时不能再写了,我想应该是一样的问题,当有人提出这个问题时,很多人嘲笑,说什么不可能,我还有写几G的文件,其实笑别人的人还是没帮助人解决这个问题,还好有高手提出了是否流没有flush,当我在看到这句回复时,顿时感觉高手就是高手。相信这是经验的原因吧,
所以程序这句很重要:bw.flush();//需要急时涮新流的缓冲区,不然写文件时,当缓冲区满就再也写不进去了
- java 把一个文件写入到另一个文件中
- java通过流把一个文件的内容写到另一个文件中
- Java 把一个文件夹中的所有文件复制到另一个文件夹中
- Java 实现把异常信息写入到文件中
- 将一个文件的内容写入到另一个文件
- 将一个文件的内容写入到另一个文件中(字节流)
- perl将一个文件中的特定行写入到另一个文件中
- 从一个文件读取内容计算出结果,将结果写入到另一个文件中
- java 实现读一个txt文件 写入到另一个txt文件
- java读取文件后修改,并写入到另一个文件
- 把一个bmp图片写入文件中
- 从磁盘中读入一个文件并写入另一个文件
- 把一个文件复制到另一个文件下
- Linux把一个文件标准输出输入到另一个文件中
- 如何把多个文件写入到一个文件中去并能分解
- 如何把多个文件写入到一个文件中去并能分解
- 如何把多个文件写入到一个文件中去并能分解
- 如何把多个文件写入到一个文件中去并能分解
- 显示页码
- VC目录操作
- 坐井观天--井口原来不仅仅只有井口那么大
- 整形数字转化为多少天,多少小时,多少分钟,多少秒
- 让Num Lock指示灯常亮起来
- java 把一个文件写入到另一个文件中
- 让Num Lock默认开启
- jar包打包成exe文件
- C#教学第20讲字符2(学习笔记)
- 一般人不会知道的Sql语句,你会么?
- 手机今天在公车站被偷了
- 做人做事是一门艺术,更是一门学问
- 给一个路径,得到她下面的图片,并显示出来
- C++