关于JAVA文件,读取格式的问题 我有一个TXT..现在用的是 OutputStream 和 InputStream ,,但是我要把文件内容加几个字。然后再保存..但是当我打开的时候.文件格式全部乱了.有没有办法读或者写的时候都保持文件原有格式的办法 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 具体点啊,TXT文件是本地创建好的,还是通过OutputStream创建的等,连代码贴出来看看 假设我现在在TXT里面的文件是这样的122 3334 4然后处理后,成了12233344 .我现保持原有的格式,请问怎么做 代码如下,楼主可以参考下: /** * 往文件写入内容 * @param fileName 文件名称(包括完整绝对路径) * @param fromEnd T/F——重写文件/从文尾开始写 * @param sb 要写入的内容 * @throws Exception */ private static void write(String fileName, boolean fromEnd, StringBuffer sb) throws Exception { RandomAccessFile raf = new RandomAccessFile(fileName, "rw"); if(fromEnd){ raf.seek(raf.length()); raf.writeBytes(sb.toString()); System.out.println(fileName + " 文尾 写入成功!***************"); }else{ File f = new File(fileName); FileOutputStream fos=new FileOutputStream(f); fos.close(); raf.writeBytes(sb.toString()); System.out.println(fileName + " 重写 写入成功!***************"); } } 难道JAVA里面不支持这样做的么``?应该不是吧。肯定会有办法的额。 楼主还需要读操作?那可以用以下的: /** * 读文件内容 * @param fileName 文件名称(包括完整绝对路径) * @throws Exception */ private static void read(String fileName)throws Exception{ System.out.println(fileName + " 开始读***************"); FileReader fr = new FileReader(fileName); BufferedReader br = new BufferedReader(fr); String temp = null; do { temp = br.readLine(); System.out.println(temp == null ? "" : temp); } while (temp != null); fr.close(); br.close(); System.out.println(fileName + " 已经读完!***************"); } 反正就是java里分二进制流和字符流两种,你要是读写二进制文件,就是用记事本打开都是乱码的文件,就用InputStream,如果是字符文件,用记事本打开能看到字,那就用Reader. String问题 关于TimerTask 问题 jxta有些问题,各位高手帮忙啊 请教:关于sun认证 一个小小的问题 想不明白 望大侠指点迷津 初学 strus疑问,新手请教! 请教SimpleDateFormat 的 applyLocalisedPattern 和applyPattern的分别 文本框的字段合法性检查问题 java可以写多媒体播放的软件吗?(进来提点建议) 关于jbuilder的问题:请简述一下接口和包的概念. 关于win32com.dll 的版本问题 关于static经验之我谈
1
22
333
4 4
然后处理后,成了
12233344 .我现保持原有的格式,请问怎么做
* 往文件写入内容
* @param fileName 文件名称(包括完整绝对路径)
* @param fromEnd T/F——重写文件/从文尾开始写
* @param sb 要写入的内容
* @throws Exception
*/
private static void write(String fileName, boolean fromEnd, StringBuffer sb) throws Exception {
RandomAccessFile raf = new RandomAccessFile(fileName, "rw");
if(fromEnd){
raf.seek(raf.length());
raf.writeBytes(sb.toString());
System.out.println(fileName + " 文尾 写入成功!***************");
}else{
File f = new File(fileName);
FileOutputStream fos=new FileOutputStream(f);
fos.close();
raf.writeBytes(sb.toString());
System.out.println(fileName + " 重写 写入成功!***************");
}
}
那可以用以下的: /**
* 读文件内容
* @param fileName 文件名称(包括完整绝对路径)
* @throws Exception
*/
private static void read(String fileName)throws Exception{
System.out.println(fileName + " 开始读***************");
FileReader fr = new FileReader(fileName);
BufferedReader br = new BufferedReader(fr);
String temp = null;
do {
temp = br.readLine();
System.out.println(temp == null ? "" : temp);
} while (temp != null);
fr.close();
br.close();
System.out.println(fileName + " 已经读完!***************");
}