import java.io.*;
class JiaMi
{
public static void main(String[] args) throws Exception
{
File file = new File("D:\\tra\\export.txt");
if(!file.exists())
{
throw new RuntimeException("文件不存在");
}
FileInputStream fis = new FileInputStream(file);
FileOutputStream fos = new FileOutputStream("D:\\tra\\jiamihou.txt");
int len = 0;
while((len = fis.read())!=-1)
{
fos.write(len^0x5f);//如果要用byte类型的数据进行这样的计算,该怎样弄,怎样才能不丢失精度呢?如果&上个0xff那么数据没变化。为什么?
}
fos.close();
fis.close();
}
//上面我用的这个
byte[] buf = new byte[1024];
int len = 0;
while((len = fis.read(buf))!=-1)
{
for(int x = 0;x<len;x++)
{
buf[x] = buf[x]&0xff;
}
fos.write(buf,0,len);
}//会出现损失精度的可能。怎么解决?
|
|