韩顺平java制作记事本_2011-05-21——Java从入门到精通(韩顺平)自己整理的笔记(包括记事本的开发)...
2011年5月21日星期六
第四十四讲 io编程
1.创建文件用:f2.createNewFile();
创建文件夹:f3.mkdir();
2.列出文件: File lists[]=f4.listFiles();
package IOStream;
import java.io.*;
public class Demo11_1
{
public static void main(String[] args)
{
File f=new File("d:/a.txt");
//得到文件的路劲
System.out.println("文件路径:"+f.getAbsolutePath());
//得到文件的大小
System.out.println("文件大小:"+f.length());// 返回文件的字节大小
System.out.println("可读:"+f.canRead());//可不可读
//创建文件和文件夹
File f2=new File("d:\\hsp.txt");
if(!f2.isFile())
{
//可以创建
try {
f2.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}else
{
System.out.println("有文件不能创建");
}
//创建文件夹
File f3=new File("d:\\ffddd");
if(f3.isDirectory())
{
System.out.println("文件夹存在");
}
else
{
f3.mkdir();
}
//列出文件夹下面的所有文件
File f4=new
File("d:\\dd");
if(f4.isDirectory())
{
File
lists[]=f4.listFiles();
for(int i=0;i
{
System.out.println("文件名:"+lists[i]);
}
}
else
{
f4.mkdir();
}
}
}
3.文件字节流
读取文件:FileInputStream,因为File没有读写能力,所以用个FileInputStream
4.记得关闭文件
package IOStream;
import java.io.*;
public class Demo11_2
{
public static void main(String[] args)
{
File f=new File("d:\\test.txt");
FileInputStream fis=null;
try {
//因为File没有读写能力,所以用个FileInputStream
fis=new FileInputStream(f);
//定义一个字节数组,相当于是缓存
byte []bytes=new byte[1024];
//得到实际读取到的字节数
int n=0;
//循环读取
while((n=fis.read(bytes))!=-1)
{
//把字节转化成String
String s=new String(bytes,0,n);
System.out.println(s);
}
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
//关闭文件流要放在这里
try
{
fis.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
}
5.
package IOStream;
import java.io.*;
public class Demo11_3
{
public static void main(String[] args)
{
File f=new File("d:\\ss.txt");
//字节输出流
FileOutputStream fos=null;
try
{
fos=new FileOutputStream(f);
//如果数据量大的话,定义数组,把String转换成字节数组,这里就buy
String s="12312231235555\r\n";//必须是回车再换行,注意顺序
String s2="ddddddd";
fos.write(s.getBytes());
fos.write(s2.getBytes());
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
try {
fos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
第四十五讲 iO编程
1.图片拷贝
package com.test4;
import java.io.File;
import java.io.FileInputStream;
import
java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class Demo12_4
{
public static void main(String[] args)
{
//先把图片读入到内存,再想办法将其写入某个文件
//因我是二进制文件,因此只能用字节流完成
FileInputStream fis=null;
//定义输出流
FileOutputStream fos=null;
try
{
File f1=new File("c:\\a.jpg");
fis=new FileInputStream(f1);
fos=new FileOutputStream("d:\\a.jpg");
byte buf[]=new byte[1024];
int n=0;//记录实际读取的字节数
//循环次数
while((n=fis.read(buf))!=-1)
{
//输出到指定文件
fos.write(buf);
}
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
try {
fis.close();
fos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
2.
3.
package com.test4;
import java.io.*;
public class Demo12_5
{
public static void main(String[] args)
{
//文件取出字符流对象
FileReader fr=null;
//写入到文件
FileWriter fw=null;
try
{
//创建fr对象
fr=new FileReader("c:\\ttt.txt");
//创建输出对象
fw=new FileWriter("d:\\ccc.txt");
int n=0;//记录实际读取到的字符数
char c[]=new char[1024];
while((n=fr.read(c))!=-1)
//read返回已经读取的数目,到了文件的末尾就返回-1,read本身有两种状态,要么刚读完返回c.length要么返回-1,所以相当于只有两个过程
{
System.out.println("n="+n);
String s=new String(c,0,n);//从0开始读取n个
System.out.println(s);
//fw.write(c);//写了所有的整块数据,1024的整数倍
fw.write(c, 0, n);//按照实际长度写,不会有浪费的码
}
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
try {
fw.close();
fr.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
4.常用IO流——缓冲字符流,直接操作String
BufferedReader StreamReader
5.总结:
FileInputStream文件字节流:
File f=new
File("d:\\test.txt");
FileInputStream fis=null;
FileReader文件字符流: fr=new FileReader("c:\\ttt.txt");
fw=new FileWriter("d:\\ccc.txt");
BufferedReader缓冲字符流: fr = new FileReader("c:\\ttt.txt");
(读行)
br=new BufferedReader(fr);
第四十六讲 IO编程 记事本开发
package com.test7;
import java.io.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class NotePad
extends JFrame implements ActionListener
{
//定义需要的组件
JTextArea
jta=null;
//定义菜单条
JMenuBar
jmb=null;
//第一JMenu
JMenu
jm1=null;
JMenuItem
jmi1=null;
JMenuItem
jmi2=null;
public static void main(String[] args)
{
NotePad notepad=new NotePad();
}
public NotePad()
{
//创建jta
jta=new JTextArea();
jmb=new JMenuBar();
jm1=new JMenu("文件");
jm1.setMnemonic('F');
jmi1=new JMenuItem("打开",new
ImageIcon("weixiao.gif"));
jmi2=new JMenuItem("保存",new
ImageIcon("ziya.gif"));
//注册监听
jmi1.addActionListener(this);
jmi1.setActionCommand("open");
//对保存菜单的操作
jmi2.addActionListener(this);
jmi2.setActionCommand("save");
jm1.add(jmi1);
jm1.add(jmi2);
jmb.add(jm1);
this.setJMenuBar(jmb);
//放入到JFrame
this.add(jta);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setSize(400, 300);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
//判断哪个菜单被选中
if(e.getActionCommand().equals("open"))
{
//System.out.println("open");
//使用JFileChooser
JFileChooser jfc1=new JFileChooser();
//设置名字
jfc1.setDialogTitle("请选择文件:");
jfc1.showOpenDialog(null);
//显示
jfc1.setVisible(true);
//得到用户选择的文件路径
String filename=jfc1.getSelectedFile().getAbsolutePath();
//System.out.println(filename);//显示绝对路径
FileReader fr=null;
BufferedReader br=null;
try
{
fr=new FileReader(filename);
br=new BufferedReader(fr);
//从文件中读取信息
String s="";
String allCon="";
while((s=br.readLine())!=null)
{
//输出到JTextFile
allCon+=(s+"\r\n");
}
//放置到JTextFile中
jta.setText(allCon);
}
catch (Exception e1)
{
e1.printStackTrace();
}
finally
{
try {
br.close();
fr.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
else if (e.getActionCommand().equals("save"))
{
JFileChooser jfc2=new JFileChooser();
jfc2.setDialogTitle("另存为…");
jfc2.showSaveDialog(null);
//按默认的方式显示
jfc2.setVisible(true);
//得到用户希望把文件保存到何处
String file=jfc2.getSelectedFile().getAbsolutePath();
//准备写入到指定的文件
FileWriter fw=null;
BufferedWriter bw=null;
try
{
fw=new FileWriter(file);
bw=new BufferedWriter(fw);
bw.write(this.jta.getText());
}
catch (IOException e1)
{
e1.printStackTrace();
}
finally
{
try {
bw.close();
fw.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
}
}
韩顺平java制作记事本_2011-05-21——Java从入门到精通(韩顺平)自己整理的笔记(包括记事本的开发)...相关推荐
- 《Dreamweaver CS6完美网页制作——基础、实例与技巧从入门到精通》——1.3 常用网页设计软件...
本节书摘来自异步社区<Dreamweaver CS6完美网页制作--基础.实例与技巧从入门到精通>一书中的第1章,第1.3节,作者:何新起 更多章节内容可以访问云栖社区"异步社区 ...
- 《Dreamweaver CS6完美网页制作——基础、实例与技巧从入门到精通》——1.2 网页的基本构成元素...
本节书摘来自异步社区<Dreamweaver CS6完美网页制作--基础.实例与技巧从入门到精通>一书中的第1章,第1.2节,作者:何新起 更多章节内容可以访问云栖社区"异步社区 ...
- java制作五子棋的论文,基于java的五子棋的设计与实现.docx
摘要:随着社会的不断发展,我们的科技也不断的进步,现在我们的计算机也与我们的生活息息相关,这个时候 Internet能够让我们快速的知道自己想了解的知识.根据计算机的发展过程我们发现如今计算机应用的现 ...
- 超硬核Java工程师学习指南,真正的从入门到精通,众多粉丝亲测已拿offer!
最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好.原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我之前写的文章都是站在Java后端的全局上进行思 ...
- java制作我的世界_Minecraft Java版整合包制作教程
本教程将带领你制作Minecraft Java版的整合包 不多BB教程来啦: 1:确认你的电脑安装了Java,若没安装,请先到官网下载安装:https://www.java.com/zh_CN/[注意 ...
- java制作海报工具类,java操作图片贴图,java给图片添加文字,调整字体颜色大小间距
工具类 java操作图片,给一个大图片贴小图片,给图片添加文字并调整文字颜色,大小,字体间距,把本地图片或者网络图片加载到缓冲区 主要方法: imageIoRead方法,把图片加载到缓冲区 merge ...
- Java程序设计语言基础05:Java的类和对象
目录 1. 类的定义与组成 1.1 类的定义 2.2 类的使用 2. 类.对象和引用 2.1 类 2.2 对象 2.3 引用 3. 类的知识扩展 3.1 成员变量初始值 3.2 在类中定义自己的引用 ...
- java制作网易邮箱登录页面,java调用网易邮箱需要注意的点
1.需要开启客户端授权码 授权码开启 https://blog.csdn.net/jinwufeiyang/article/details/76400708?locationNum=7&fps ...
- java从入门到精通第8章_《Java从入门到精通》第七章学习笔记
第7章 类和对象 一.类和对象的定义及关系 1.类是同一类别对象的抽象定义:可以理解为是某一类具体对象的模子,确定对象将会拥有的特性,包括该类对象具备的属性和方法. 2.对象是对类的一种具体化的客观存 ...
- Java接入微信支付超级详细教程——从入门到精通
源码下载 源码获取邮箱:xiaoshu1024@qq.com 本文介绍了"二维码付款"的代码.其他微信支付方式的代码都在源码中. 一.准备开发所需的账号以及配置信息 解释:想要接入 ...
最新文章
- Hadoop学习13--zookeeper相关
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(十二)
- IOS(objective-c)实现md5加密(32位小写)的工具类
- 在 Windows 窗体 DataGridView 单元格中承载控件
- 一文读懂云计算和PAYG“现付现用”模型
- Java多线程时内存模型
- kohana::模板全攻略
- oracle select机制_ORACLE的工作机制(转载)
- 小字体小行高兼容性分析及差异解决办法
- html页面点击生成图片并可以下载图片
- pthread_sigmask
- 2021-01-19 :在pycharm中创建包含anaconda中各种库的环境
- win7定时关机命令_如何让win7操作系统实现定时关机,以防我们忘记电脑关机
- 回声消除(AEC)初体验之matlab仿真
- 关于中文分词的一元分词讨论
- 计算机管理-磁盘管理中进行扩展卷操作,管理磁盘diskpart命令
- 游戏王,查卡器,编号,开源,代码,OCG,程序
- 4、Arduino_esp32 ADC使用
- 【Go】Go语言中的下划线
- 配置域名 二级,三级的泛解析