JAVA如何在文件头添加内容?

JAVA如何在文件头添加内容?,第1张

“先读入,再写回”的方法时可行的

这个文件有几十兆,不代表整个读入,不是占用几十兆内存。先写入头部的文字,再循环读一点源文件,写一点源文件。

RandomAccessFile 也可以,只是最初要留出空间,比如一些空格

String str = "...."

char[] chars = str.toCharArrays

chars中存储的char就是一个个的short值,这些值就是字符串的unicode值,如果你的字符串都是英文,那么该unicode就等于其ascii值。

直接把这个数组写入文件即可。

说一下你错误的原因吧:看一下你的这两行代码:

1、while((b=input.read())!=-1)

2、 while(((b=input.read())!=-1) &&((b=input.read())!=32))

第1次(while)执行完毕的时候文件,读取文件的指针已经到达末尾了,你的第2步继续用(while)从里面读取,肯定是空的,所以后面的执行都不能继续下去。你可以看下参看一下我的代码,功能基本实现了的。

package javaTest

import java.io.*

public class CharTest {

//如何用java实现统计文本中的字符数(分包含不包含空格)

//及将大写字母转换为小写字母后复制到另一个文件

FileReader fr=null

FileWriter fw=null

BufferedReader br=null

BufferedWriter bw=null

String value=null

String value2=""

int lon

public static void main(String[] args) {

new CharTest()

}

public CharTest(){

try {

fr=new FileReader("d:/1.txt")

br=new BufferedReader(fr)

while((value=br.readLine())!=null){

value2+=value

}

//1统计读取到多少个字符

lon=value2.length()

System.out.println("一共读取到"+lon+"个字符")

//2将读取到的数据以空格的方式分割以后放入字符数组中

String string[]=value2.split(" ")

//3统计一共有多少个空格

System.out.println("空格字符数为"+(string.length-1))

//4、将读取到得内容转换成小写

String lowerCase=value2.toLowerCase()

//5、将转换以后的字符串写入到另一个文件中区

fw=new FileWriter("d:/2.txt")

bw=new BufferedWriter(fw)

bw.write(lowerCase)

} catch (Exception e) {

e.printStackTrace()

}finally{

try {

if(br!=null){

br.close()

}

if(fr!=null){

fr.close()

}

if(bw!=null){

bw.close()

}

if(fw!=null){

fw.close()

}

} catch (Exception e) {

e.printStackTrace()

}

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8094251.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存