标签:输入输出流 ascii码 概念 字符流 tput pre write java 开发 sys
概念:内存与存储设备只件传输数据的通道。在Java中,程序允许通过流的方式与输入输出设备进行数据传输。
概念:输入输出流。它可以方便地实现数据的输入输出操作。I/O流有很多种,可分为如下几种。
按方向:
输入流:将存储设备中的内容读取道内存中。
输出流:将内存中的内容写入到存储设备中。
按单位:
字节流:以字节为单位,可读写所有数据。以字节为单位进行数据的读写,每次读写一个或多个字节数据。
字符流:以字符为单位,只能读写文本数据。以字符为单位进行数据的读写,每次读写一个或多个字符数据。
按功能:
节点流:具有实际传输数据的读写功能。
过滤流:在节点流的基础之上增强功能。
在计算机中,所有文件都是以二进制(字节)形式存在的。
字节流是针对字节的输入输出提供的一种流。
根据传输方向的不同,将其分为:
字节输入流
字节输出流
在JDK中,为它俩提供了两个抽象类
InputStream
OutputStream
上述是抽象类,不能直接使用,所以我们要用它的子类进行操作。Java中,针对文件的读写操作提供了两个类:FileInputStream和FileOutputStream
public static void main(String[] args) throws Exception {
FileInputStream fis = new FileInputStream("C:\\CH-HCNetSDKV6.1.6.4_build20201231_win64\\Demo示例\\4- Java 开发示例\\2-报警布防监听\\AlarmJavaDemo\\src\\alarmjavademo\\testFile");
int data = 0;
// read() 有多种重载,可以一个一个字节读,也可以多个字节读。
while ((data=fis.read())!=-1) {
System.out.println(data); // 读取到的是他的ASCII码值
System.out.println((char)data); // 我们将其转成Char就行看见了
}
fis.close();
System.out.println();
FileInputStream fis2 = new FileInputStream("C:\\CH-HCNetSDKV6.1.6.4_build20201231_win64\\Demo示例\\4- Java 开发示例\\2-报警布防监听\\AlarmJavaDemo\\src\\alarmjavademo\\testFile");
int data2 = 0;
byte[] bytes = new byte[1024];
while ((data2 = fis2.read(bytes)) != -1) {
System.out.println(new java.lang.String(bytes, 0, data2));
}
fis2.close();
}
}
public static void main(String[] args) throws Exception {
FileOutputStream out = new FileOutputStream("C:\\CH-HCNetSDKV6.1.6.4_build20201231_win64\\Demo示例\\4- Java 开发示例\\2-报警布防监听\\AlarmJavaDemo\\src\\alarmjavademo\\testFile2",true);
out.write(97); // a对应字符的ASCII码 97
String s = "hello";
out.write(s.getBytes());
out.close();
}
标签:输入输出流 ascii码 概念 字符流 tput pre write java 开发 sys
原文地址:https://www.cnblogs.com/itlihao/p/14496334.html