用RandomAccessFile读取,用FileOutputStream写入。
按原先设定的大小将文件分成几个小文件。
有的文件会出现乱码,有的则不会,我摘取两个给大家看看。。
这一个是没有出现乱码现象的小文件
08年暑期社会实践报告
暑期的 七月是 激情奔放的,08年的 盛夏是红火澎湃的。身为当代大学生的我虽然不能身临北京为奥运喝彩,为运动健儿加油,但也用独有的方式和举动响应 ,用自己的行动来表达内心的激情,用亲身的实践来充实夏暑的狂热。
出现乱码现象的小文件,不是全部乱码,而是到了后面出现乱码现象的,为什么会出现这种情况,有没有相应的解决办法?
我在工作中大多负责装卸车的拖运,能经常出入车间,也让我初步了解到了食品加工的大概工作流程:产品原料的采购——产品原料的预处理——产品的初加工——产品深加工——装料、包装——出厂检验(——装车出售 F渌附诰鸵郎韵蠛蜕婺!⒓凹际鹾康绕渌硖跫ā6杂诒疚称饭こ谭较蜃ㄒ凳俏依此担私庹庑韵衷诨蚪窈蠖级嗌倩嵊邪镏摹?
按原先设定的大小将文件分成几个小文件。
有的文件会出现乱码,有的则不会,我摘取两个给大家看看。。
这一个是没有出现乱码现象的小文件
08年暑期社会实践报告
暑期的 七月是 激情奔放的,08年的 盛夏是红火澎湃的。身为当代大学生的我虽然不能身临北京为奥运喝彩,为运动健儿加油,但也用独有的方式和举动响应 ,用自己的行动来表达内心的激情,用亲身的实践来充实夏暑的狂热。
出现乱码现象的小文件,不是全部乱码,而是到了后面出现乱码现象的,为什么会出现这种情况,有没有相应的解决办法?
我在工作中大多负责装卸车的拖运,能经常出入车间,也让我初步了解到了食品加工的大概工作流程:产品原料的采购——产品原料的预处理——产品的初加工——产品深加工——装料、包装——出厂检验(——装车出售 F渌附诰鸵郎韵蠛蜕婺!⒓凹际鹾康绕渌硖跫ā6杂诒疚称饭こ谭较蜃ㄒ凳俏依此担私庹庑韵衷诨蚪窈蠖级嗌倩嵊邪镏摹?
while((currentLength+length)<fileLength){
inputFile.seek(currentLength);
inputFile.read(allFile, 0, length);
int shift=0;
while(allFile[length+shift-1]!='\n'){
inputFile.seek(currentLength+length+shift);
shift++;
allFile[length+shift]=inputFile.readByte();
}
currentLength+=(shift+length);
String outputFilename = destinationTextField.getText() + "\\"
+ FilenameTextField.getText()+last + ".txt";
FileOutputStream outputFile = new FileOutputStream(
outputFilename);
outputFile.write(allFile,0,length+shift);
outputFile.close();
last++;
}
inputFile.seek(currentLength); //定位读入文件的起始地址
inputFile.read(allFile, 0, length);//读入指定长度的数据
int shift=0;
while(allFile[length+shift-1]!='\n'){ //判断当前读入数据的最后一位是否为换行符,如果不是则继续往下读
inputFile.seek(currentLength+length+shift);
shift++;
allFile[length+shift]=inputFile.readByte();
}
而是一个TXT文件的分割而已
为什么会有的字符出现乱码?(而且这些字符在有的地方不会出现乱码现象)
是不是我读取文件的时候出现错误?
还是写入文件的时候出现错误?
很奇怪你为什么不一行一行的读取文件呢.
你用RandomAccessFile有什么特别的用途吗?
用BufferedReader的ReadLine()方法不成吗?
InputStream is = new FileInputStream(source);
OutputStream os = new FileOutputStream(tarpath);
部分代码: InputStream is = new FileInputStream(source);
OutputStream os = new FileOutputStream(tarpath);
byte[] buf = new byte[1024];
int len = 0;
while ((len = is.read(buf)) != -1)
{
os.write(buf, 0, len);
}
is.close();
os.close();
原来用FileInputStream和FileOutputStream时候也出现过乱码(源文件和目标文件里的中文都变成乱码)
实际上只要在write和read的时候都做下字符转换就不会出现这样的问题了!
至于怎么转的,我这没有现成代码,楼主可以到网上搜索下!
所以就用RandomAccessFile/../..