对java中的流的概念认识不是很好,想问一个关于流方面的知识。程序如下:
import java.io.*;
public class TestFileWriter {
public static void main(String[] args) {
FileWriter fw = null;
try {
fw = new FileWriter("d:\\unicode.dat");
for(int c=0;c<=30000;c++){
fw.write(c);
}
fw.close();
} catch (IOException e1) {
e1.printStackTrace();
System.out.println("文件写入错误");
System.exit(-1);
}
}
}
对于上面的这个程序,fw.write(c) 这句为什么写入的是数字,而写入到文件的却是一些字符,但是如果换成fw.write('c');或者fw.write("你好");却是保持不变,而当要写入java的基本数据类型的时候,如long int 这些类型的数的时候就必须要用数据流才可以,这种字节流的"字节"的意义到底是什么,其内部到底是如何进行的,我能不能把一个其它的比如一个视频文件写入到另一个文件中呢?
import java.io.*;
public class TestFileWriter {
public static void main(String[] args) {
FileWriter fw = null;
try {
fw = new FileWriter("d:\\unicode.dat");
for(int c=0;c<=30000;c++){
fw.write(c);
}
fw.close();
} catch (IOException e1) {
e1.printStackTrace();
System.out.println("文件写入错误");
System.exit(-1);
}
}
}
对于上面的这个程序,fw.write(c) 这句为什么写入的是数字,而写入到文件的却是一些字符,但是如果换成fw.write('c');或者fw.write("你好");却是保持不变,而当要写入java的基本数据类型的时候,如long int 这些类型的数的时候就必须要用数据流才可以,这种字节流的"字节"的意义到底是什么,其内部到底是如何进行的,我能不能把一个其它的比如一个视频文件写入到另一个文件中呢?
解决方案 »
- java IO问题
- 通过Java调用含有sp_addlinkedserver的存储过程报错,求解!
- 怎么获取文本采用的是那种语言编码呢?
- 一个小问题,大家帮忙看下
- 面试题: 给一个任意字符串例如:"xy5dew_dp6n",如果是数字的话,后面的字符循环数字次,如果是"_",用"@"替换,最终结果是"xy5dddddew@dp6nnnnnn"
- 求教:如何创建类似jbuilder风格的窗格
- java的運行環境是怎樣配置的?回貼給分!
- 如何用Java实现打印功能?
- 怎样弹出一个对话框,并输入参数?
- 请教怎么样才能让两个按钮显示的一样大小,谢了
- 怎么通过tablemodel获得它的Jtable对象呢?
- 请问java中System.out.println()中打印出来的是换行,还是回车+换行。
方法一:将 13 转化成 String,就是字符 '1' 和字符 '3',然后使用字符流按照上面说的方法将这两个字符分别写入文件中。例如用 UTF-8 字符集时,字符 '1' 和 '3' 都只用一个字节表示,所以我们实际上写入了两个字节到文件中。方法二:直接将 00000000 00000000 00000000 00001101 这几个字节也就是 int 类型 13 的二进制表示使用字节流写入文件中,这也就是 DataOutputStream 的 writeInt 所做的事情。显而易见,这种方法向文件里写入了四个字节。附:如果说的不清,我再继续解释。