第十六节:读文件,文件的创建,写文件,文件的读写以及鼠标键盘事件和图形绘制
读文件
//读文件
public static void read(String path,String filename){
try{
int length = 0;
String str = "";
byte buffer[]=new byte[10];
FileInputStream fis=new FileInputStream(new File(path,filename));
while((length=fis.read(buffer,0,buffer.length))!=-1){
str+=new String(buffer,0,length);
}
System.out.println(str);
fis.close();
}catch(FileNotFoundException e){
System.out.println("文件不存在");
}catch(IOException e){
e.printStackTrace();
}
}
文件的创建
public class FileDemo{
public static void createFolder(String path){
File folder = new File(path);
if(folder.exists()){
System.out.println("文件已存在!");
}else{
folder.mkdir();
}
}
public static void createFile(String path,String filename){
File file = new File(path,filename);
if(file.exists()){
System.out.println("文件已存在!");
System.out.println(file.length());
}else{
try{
file.createNewFile();
}catch(IOException e){
System.out.println("文件创建失败");
}
}
}
public static void main(String[] args){
FileDemo.createFolder("c:/test");
FileDemo.createFile("c:/test","1.txt");
}
}
写文件
public static void write(String path,String filename){
try{
String str = "234455";
byte b[] = str.getBytes();
FileOutputStream fos = new FileOutputStream(new File(path,filename));
fos.write(b);
}catch(FileNotFoundException e){
System.out.println("文件不存在");
}catch(IOException e){
System.out.println("写文件失败");
}
}
文件的读写
重点:
文件类主要功能:创建,读属性,写属性,删除等
文件读写操作
File类
File类的对象
用来获取文件本身的信息,如文件所在目录、文件长度、文件读写权限等,不涉及文件的读写操作。
构造函数
File(String filename)
File(String directoryPath,String filename)
File(File f,String filename)
获取文件的属性
String getName()
boolean canRead()
boolean canWrite()
long length()
boolean isFile()等
目录操作
boolean mkdir():创建目录。
String[] list():以字符串的形式返回目录下所有文件。
File[] listFiles():以File对象形式返回目录下所有文件。
文件操作
boolean createNewFile():创建一个新的文件。
boolean delete():删除一个文件
流的概念
Java输入输出功能是借助输入输出流类来实现的。
java.io包中包含大量用来完成输入输出流的类。
Java中流的分类:
流的运动方向,可分为输入流和输出流两种。
流的数据类型,可以分为字节流和字符流。
输入流类都是抽象类InputStream(字节输入流)或抽象类Reader类(字符输入流)的子类。
输出流类都是抽象类OutputStream(字节输出流)或抽象类Writer类(字符输出流)的子类。
输入流
输入流用于读取数据,用户可以从输入流中读取数据,但不能写入数据。
输入流读取数据过程如下:
(1)打开一个流。
如:FileInputStream inputFile=new FileInputStream(“数据源”);
(2)从信息源读取信息。
如:inputFile.read();
(3)关闭流。
如:inputFile.close();
输出流
输出流用于写入数据。只能写,不能读。
写数据到输出流过程如下:
(1)打开一个流。
如:FileOutputStream outFile=new FileOutputStream(“数据源”);
(2)写入信息到目的地。
如:outFile.write(inputFile.read()):
(3)关闭流。如:
如:outFile.close();
鼠标键盘事件及图形绘制
窗口中图形的绘制
鼠标事件
键盘事件
窗口中图形的绘制
所有组件的父类Component类中提供了组件绘制的几个方法:
public void paint():绘制组件。
public void update():更新组件。
public void repaint():重绘组件。
鼠标事件
MouseListener接口
MouseEvent类主要功能
键盘事件
KeyListener
KeyEvent类主要功能
相关文章
- Android开发之布局文件中实现OnClick事件关联处理方法
- 【10053 事件】10053事件的跟踪文件解析
- git 删除仓库的文件
- 获取文件拓展名
- 修改tnsnames.ora文件中配置内容中的连接别名后,连接超时解决办法
- 15、NFC技术:使用Android Beam技术传输文件
- visual studio 2015生成64位DLL文件
- PHP:将本地文件上传到阿里云OSS存储
- centos中更新glibc库文件到2.17
- Centos安装jdk1.8出现-bash: //usr/local/soft/jdk1.8.0_191/bin/javac: /lib/ld-linux.so.2: bad ELF interpreter: 没有那个文件或目录错误。
- c++ 文件
- unhide 搜索隐藏进程和 TCP/UDP 端口——通过修改加载的so文件来实现隐藏,待研究实现思路
- Hibernate使用Log4j日志记录(使用xml文件)
- 04 .vimrc文件配置