- 浏览: 893386 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (687)
- java (127)
- servlet (38)
- struts (16)
- spring (22)
- hibernate (40)
- javascript (58)
- jquery (18)
- tomcat (51)
- 设计模式 (6)
- EJB (13)
- jsp (3)
- oracle (29)
- RUP (2)
- ajax (3)
- java内存管理 (4)
- java线程 (12)
- socket (13)
- path (5)
- XML (10)
- swing (2)
- UML (1)
- JBPM (2)
- 开发笔记 (45)
- Note参考 (15)
- JAXB (4)
- Quartz (2)
- 乱码 (2)
- CSS (2)
- Exception (4)
- Tools (7)
- sqlserver (3)
- DWR (7)
- Struts2 (47)
- WebService (2)
- 问题解决收藏 (7)
- JBOSS (7)
- cache (10)
- easyUI (19)
- jQuery Plugin (11)
- FreeMarker (6)
- Eclipse (2)
- Compass (2)
- JPA (1)
- WebLogic (1)
- powerdesigner (1)
- mybatis (1)
最新评论
-
bugyun:
受教了,谢谢
java 正则表达式 过滤html标签 -
xiongxingxing_123:
学习了,感谢了
java 正则表达式 过滤html标签 -
wanmeinange:
那如果无状态的。对同一个任务并发控制怎么做?比如继承Quart ...
quartz中参数misfireThreshold的详解 -
fanjieshanghai:
...
XPath 元素及属性查找 -
tianhandigeng:
还是没明白
quartz中参数misfireThreshold的详解
转换流:
转换流是字符流于字节流的桥梁,方便了字符流跟字节流之间的操作,字符流比字节流更高效。
InputStreamReader 字节流向字符流转换 需要和InputStream套接
OutputStreamWriter 字符流向字节流转换 需要和OutputStream套接
例:实现功能将一个文件的内容显示在控制台上
import java.io.*;
public class Practice {
public static void main(String[] args) {
systemOutData("E:\\Workspace\\IO\\1.txt");
}
public static void systemOutData(String file){
BufferedReader bfr = null;
BufferedWriter bfw = null;
try {
bfr = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
bfw = new BufferedWriter(new OutputStreamWriter(System.out));
String line = null;
while((line = bfr.readLine())!=null){
bfw.write(line);
bfw.newLine();
bfw.flush();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
bfr.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
bfw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
标准输入输出流:
System.in
标准输入流。此流已打开并准备提供输入数据。通常,此流对应于键盘输入或者由主机环境或用户指定的另一个输入源。类型是InputStream。
System.out
标准输出流。此流已打开并准备接受输出数据。通常,此流对应于显示器输出或者由主机环境或用户指定的另一个输出目标。类型是PrintStream是OutputStream的子类。
System.err
标准错误输出流。此流已打开并准备接受输出数据。类型跟Out一样是PrintStream是OutputStream的子类。
System类还提供了几个能让你重定向标准输入,标准输出和标准错误的静态方法:
setIn(InputStream)
setOut(PrintStream)
setErr(PrintStream)
如果程序在短时间内输出了大量的信息,使得翻屏的速度非常快,以致于你都没法读了,这时对输出进行重定向就会显得非常有用了。对于那些要重复测试用户输入的命令行程序来说,对输入进行重定向也是非常重要的。
因为标准输入输出流操作的都是文本数据并且是字节流,我们可以将其转换为字符流操作,是程序更高效操作更方便。
例:
lBufferedReader bufr =new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bfw = new BufferedWriter(new OutputStreamWriter(System.out));
操作流的基本规律:
1,明确源和目的(是为了明确使用输入流还是输出流)
2,明确操作的数据是否是纯文本数据。(是为了明确使用字符流还是字节流)
如果处理的是纯文本,并涉及到编码转换,要使用转换流。还要考虑是否需要使用缓冲流。
File类
File类用来讲文件或文件夹封装成对象,方便对文件和文件夹进行操作,是Java中唯一一个操作文件或文件夹的类。
常用方法示例:
import java.io.File;
import java.io.FilenameFilter;
public class TestFile {
public static void main(String[] args) throws Exception{
File file = new File("1.txt");
file.canExecute(); //判断文件是否可以运行
file.createNewFile(); //当且仅当不存在此文件时创建文件
file.delete(); //删除文件 不走回收站
file.deleteOnExit(); //在虚拟机退出时删除文件
file.exists(); //判断此文件是否存在
file.getAbsoluteFile(); //返回绝对路径名
file.getAbsolutePath(); //返回此绝对路径名的字符串形式
file.getName(); //返回由此抽象路径名表示的文件或目录的名称。
file.getParent(); //返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null。
file.getPath(); //将此抽象路径名转换为一个路径名字符串。
file.isAbsolute(); //测试此抽象路径名是否为绝对路径名。
file.isDirectory(); //测试此抽象路径名表示的文件是否是一个目录
file.isFile(); //测试此抽象路径名表示的文件是否是一个标准文件。
file.isHidden(); //测试此抽象路径名指定的文件是否是一个隐藏文件
file.lastModified(); //此文件最后修改时间
file.length(); //此文件长度
file.list(); //返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录
file.list(new FilenameFilter(){
public boolean accept(File dir, String name) {
return false;
}
}); //返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中满足指定过滤器的文件和目录。
file.mkdir();//创建此抽象路径名指定的目录。
file.mkdirs();//创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。
}
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/liuxiaolei7676/archive/2010/04/13/5482849.aspx
发表评论
-
操作系统的目标和作用
2012-07-05 23:46 1329操作系统的目标 目前存在着多种类型的OS,不同类型的OS ... -
利用(ffmpeg)生成视频缩略图(java)
2012-07-01 01:11 0对于上传视频生成缩略图使用的是ffmpeg进行生成的。 自己在 ... -
对Java多线程技术中所有方法的详细解析
2012-06-06 11:32 789一、run()和start() 这两个 ... -
java乱码
2012-06-06 11:33 971自从接触Java和JSP以来, ... -
学习apache commons-io类库中的文件清除器
2011-07-06 23:26 1449学习apache commons-io 1.4类库中的File ... -
java 正则表达式 过滤html标签
2011-05-24 15:10 5354前段时间开发的时候要读取一篇文章的简介内容(也就是前200个字 ... -
转---Eclipse中web-inf和meta-inf文件夹的信息
2011-05-24 13:08 1135Eclipse中web-inf和meta-inf ... -
logback与Log4J的区别
2011-05-17 23:34 1439Logback和log4j是非常相似 ... -
性能优化
2011-04-14 16:10 1185(1)jdbc性能优化 jdbc程序的性能主要由两个因素决定 ... -
JAVA的Random类(转)
2011-04-12 00:21 912Random类中实现的随机算法是伪随机,也就是有规则的随机。在 ... -
非阻塞的Socket链接
2011-04-10 21:59 894import java.io.IOException; ... -
创建临时文件
2011-04-10 21:55 1094package net.java2000.io; ... -
面向对象设计的基本原则
2011-04-07 10:28 1148摘自:http://soft6.com/tech/6/6501 ... -
proxool
2011-04-02 15:01 860属性列表说明: fatal-sql- ... -
当前Java软件开发中几种认识误区
2011-04-01 10:12 878越来越多人开始使用Java ... -
Java中查看一个方法被调用的层次(Reflection、StackTrace)
2011-04-01 00:53 2038package test; public class Mai ... -
反序列化时恢复transient字段
2011-03-30 13:20 1214我们知道将字段设置为transient,可以避免该自动被序列化 ... -
用socket连接服务器直接发送接收邮件
2011-03-22 17:22 1303首页 新闻 论坛 问答 博客 招聘 更多 ▼ 专栏 &l ... -
利用JavaMail收/发Gmail邮件(SSL)
2011-03-22 17:21 2389Gmail目前已经启用了POP3和SMTP服务,具体情况请看 ... -
Java 反射与内省
2011-03-14 22:08 1075一、java反射机制 JAVA反 ...
相关推荐
$ npm i -g graph2app-drawio2vuejs 在开始之前 在开始之前,您可以阅读中级文章,以获取逐步指南: 或观看这个小演示: 快速开始 去创建一个新文件,并使用UML对象来创建组件树。 请注意,仅将标记为对象(第一个...
IO2.ASM.asm
使用51单片机C语言编写的...sbit IO2 = P1^1; // 第二个IO口 sbit Relay1 = P1^2; // 继电器1控制IO口 sbit Relay2 = P1^3; // 继电器2控制IO口 unsigned char IO1_state = 0; // IO1的状态:0为关闭,1为打开 unsigne
在计算机系统中,IO(Input/Output)操作是与外部设备进行通信的关键环节。IO 端口是指CPU与外部设备交互的接口,用于发送和接收数据。在不同的硬件架构中,IO 端口的管理和访问方式有所不同,主要分为逻辑IO和物理...
纸io 2游戏是一个比第一游戏更快地播放的IO游戏。 纸IO 2游戏是IO游戏比第一个游戏更快。 使用更快的移动展开您自己的区域。 你必须拥有最多的土地。 要做到这一点,你需要慢慢地成长到对手的土地上,并希望从他身上...
2. 阻塞IO与非阻塞IO: - **阻塞IO**:在阻塞模式下,当请求数据未准备好时,系统调用会暂停进程,直到数据可用。Java传统的`Socket`和`ServerSocket`类使用的就是阻塞IO。这种模型效率较低,因为CPU可能会浪费时间...
2. **安装VSCode扩展**:如果你打算使用Visual Studio Code作为IDE,你需要先安装PlatformIO的VSCode扩展。确保VSCode已经安装,然后离线安装扩展通常可以通过将`.vsix`文件拖放到VSCode的扩展视图来完成。 3. **...
同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问题其实不同的人给出的答案都可能不同,比如wiki,就认为asynchronous IO和non...
几乎每一种外设都是通过读写设备上的寄存器来进行...CPU对外设IO端口物理地址的编址方式有两种:一种是I/O映射方式(I/O-mapped),另一种是内存映射方式(Memory-mapped)。而具体采用哪一种则取决于CPU的体系结构。
首先,传统的按键扫描方法通常采用行扫描和列检测的方式,例如用3个IO口作为行扫描,2个IO口作为列检测,总共可以扫描6个按键(2*3=6)。然而,这种基本方法并没有充分利用IO口的潜力。通过一些创新设计,我们可以...
2. 连接建立:一旦驱动配置完成,Intouch会尝试建立与PLC的连接。这可能通过串行、以太网、现场总线(如Profibus、Modbus或Ethernet/IP)等方式进行。 3. 数据交换:连接成功后,Intouch可以通过IOserver与PLC进行...
2. **性能**:标准IO因为有缓冲,可能在大量数据传输时表现更好;而文件IO通常更快,尤其是小块数据的读写。 3. **灵活性**:文件IO提供了更多的控制,可以进行更精细的操作,如文件定位;标准IO则更加简洁,易于...
最新单片机仿真 2io5键盘模拟音量数码管显示最新单片机仿真 2io5键盘模拟音量数码管显示最新单片机仿真 2io5键盘模拟音量数码管显示最新单片机仿真 2io5键盘模拟音量数码管显示最新单片机仿真 2io5键盘模拟音量...
RapidIO是一种先进的高带宽、低延迟的互连技术,主要用于芯片至芯片、板至板之间的通信,尤其是在高性能计算、网络和嵌入式系统领域。RapidIO技术由RapidIO贸易协会(RapidIO Trade Association,简称RTA)维护和...
2. **RapidIO硬件设计**:讲解如何设计和实现RapidIO接口,包括物理层和数据链路层的实现。 3. **RapidIO软件支持**:阐述如何在操作系统层面支持RapidIO,包括驱动程序开发和系统级编程。 4. **RapidIO系统架构**:...
gnu.io.I2C.class gnu.io.I2CPort.class gnu.io.I2CPortEvent.class gnu.io.I2CPortEventListener.class gnu.io.LPRPort.class gnu.io.NoSuchPortException.class gnu.io.ParallelPort.class gnu.io....
2. 使用示波器来观察波形的变化。 3. 改变编译器、单片机类型和时钟频率等因素来观察IO口翻转速度和波形样式的变化。 实验结果: * AT89S52单片机:IO口翻转速度约为333.3kHz,占空比约为33.3%。 * STM32F103VE...
platformio.platformio-ide-2.4.3
2. 文件 IO 中用文件描述符表现一个打开的文件,可以访问不同类型的文件,如普通文件、设备文件和管道文件等。而标准 IO 中用 FILE(流)表示一个打开的文件,通常只用来访问普通文件。 三、文件 IO 和标准 IO 的...