求一段代码,想了很久的了 我是个初学者,我想设计一个程序,下面是一些思路。我要复制一个文件A,前提是我并不知道这个文件A是二进制还是ASCII码的文本文件,而且要求如果文件A是二进制则所复制得到的文件B也是二进制文件,若A是ASCII码的文本文件,则复制得到的B还是能打开的文本文件~我遇到的问题是读二进制文件要用二进制的流,读文本的要用字符流,怎么区分呢?说的有些罗索,为了能说情问题啦~谢谢各位 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不是这么复制的...复制文件的时候只要做字节数组处理就可以了....byte[] buf;字节是最底层的 |-二进制编码byte-| |-字符编码这样看得懂吧 java copy或传输根本不用考虑是否是ASCII码的文本文件还是非ASCII码的其他文件 使用FileInputStream和FileOutputStream进行复制即可 你还没搞清楚不管你是字符还是二进制码他们都是基于字节的字节是所有数据的基础只要字节不变,你用字符编码来读取字节是不会改变的LZ应该去学一点底层的东西,学点基础的C吧其他不管你的文件是文本文件还是图片文件,在磁盘上都是以字节来保存的只是打开文件的时候,对字节的解释方法不一样而已 /** * * @param filename 以有的文件(c:\a.doc) * @param copyto 要copy到的文件名称(d:\A.doc) * @throws IOException */ public static void copyFile(String filename,String copyto)throws IOException{ InputStream is=new FileInputStream(filename); OutputStream streamOut = new FileOutputStream(copyto);//定义输出流 int byteRead = 0; byte[] buffer = new byte[8192]; while ((byteRead = is.read(buffer, 0, 8192)) != -1) { streamOut.write(buffer, 0, byteRead); } streamOut.close(); is.close(); }就ok了 谁能告诉我在oracle中动态创建一个表 关于函数参数传递的问题--有人能帮忙解释一下吗? ip数据库的java程序 怎么样学好J2EE !!!运行applet时出现java.security.AccessControlException: access denied ?????????!!!!!!1 J2SE5.0具体包括多少个包?多少个类? 怎样去掉java UI程序运行时的后台窗口? 急!!JDK在哪儿下速度较快一些 java通过jdbc使用oracle的一个错误,高手请进 请问关于压缩的问题 请教MYSQL的英文查询 一个关于数据库间接连接的问题
复制文件的时候只要做字节数组处理就可以了....byte[] buf;字节是最底层的
|-二进制编码
byte-|
|-字符编码
这样看得懂吧
不管你是字符还是二进制码
他们都是基于字节的
字节是所有数据的基础只要字节不变,你用字符编码来读取字节是不会改变的LZ应该去学一点底层的东西,学点基础的C吧
其他不管你的文件是文本文件还是图片文件,在磁盘上都是以字节来保存的
只是打开文件的时候,对字节的解释方法不一样而已
*
* @param filename 以有的文件(c:\a.doc)
* @param copyto 要copy到的文件名称(d:\A.doc)
* @throws IOException
*/
public static void copyFile(String filename,String copyto)throws IOException{
InputStream is=new FileInputStream(filename);
OutputStream streamOut = new FileOutputStream(copyto);//定义输出流
int byteRead = 0;
byte[] buffer = new byte[8192];
while ((byteRead = is.read(buffer, 0, 8192)) != -1) {
streamOut.write(buffer, 0, byteRead);
}
streamOut.close();
is.close();
}
就ok了