java文件处理点滴记录

java文件读写的编码注意项:

 

一般往文件中写入的语句是:

 

File myFilePath = new File(filePath);
FileWriter resultFile = new FileWriter(myFilePath); 
PrintWriter myFile = new PrintWriter(resultFile); 
myFile.print(fileContent);
myFile.close();
 

FileWriter在写出文件时是以系统默认的编码格式输出的,因此对于一些不同编码格式容易产生乱码,尤其对于中文字符, 在使用时应格外留意。为了解决这个问题,可以使用OutputStreamWriter, 示例如下:

 

OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(filename, true),"UTF-8");
osw.write(toStr);
 

 

这段代码就是指定输出文件filename,使用UTF-8的编码格式以append 的形式输出字符串 toStr;

 

另外可以参考这篇blog   http://caohaigang2008.iteye.com/blog/327637

 

 

java 对文件进行插入内容(只适应于可以定位插入内容位置的情况)

 

我在这种情况下使用这样的编码:

 

有一个文件需要多次写入,写完文件内容后(文件内容很大),需要在文件最开始行的内容里面写入文件的行数;

 

这种情况下可以这样写:

 

	RandomAccessFile raf = new RandomAccessFile(file,"rw");
	raf.seek(pos);
	raf.writeBytes(content);
	raf.close();

适用这种情况的前提是:

 

   需要能够准确的定位到需要插入内容的位置;

 

 

 


 

 

你可能感兴趣的:(编码)